Android基础:SlidingDrawer知识
SlidingDrawer抽屉,主要有handler和content组成,handler一般是图片,cotent随意,基本的方法主要有
open()、animateOpen()、close()、animateClose()、SlidingDrawer.setOnDrawerOpenListener()、SlidingDrawer.setOnDrawerCloseListener()
lock()、unlock(), 系统自带的抽屉可以从下往上、或者从右往左拉开,通过orientation来设置,如果要使SlidingDrawer按指定高度拉开,应该放到Relativelayout中,同时设置alignParentBotom为true.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <SlidingDrawer android:id="@+id/slidingdrawer" android:layout_width="fill_parent" android:layout_height="400px" android:content="@+id/content" android:handle="@+id/handler" android:orientation="horizontal" android:layout_alignParentBottom="true" > <ImageView android:id="@id/handler" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/handler" /> <TextView android:id="@+id/content" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="测试。。。。。。。。" android:textSize="18px" android:gravity="center_vertical" android:background="#ff00ff00" /> </SlidingDrawer> </RelativeLayout>
handler = (ImageView) findViewById(R.id.handler); content = (TextView) findViewById(R.id.content); slidingdrawer = (SlidingDrawer) findViewById(R.id.slidingdrawer); slidingdrawer.open(); slidingdrawer.setOnDrawerOpenListener(new OnDrawerOpenListener() { @Override public void onDrawerOpened() { handler.setImageDrawable(MainActivity.this.getResources().getDrawable(R.drawable.p)); ScaleAnimation anim = new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f); anim.setDuration(1000); // slidingdrawer.setAnimation(anim); // slidingdrawer.startAnimation(anim); } }); slidingdrawer.setOnDrawerCloseListener(new OnDrawerCloseListener() { @Override public void onDrawerClosed() { handler.setImageDrawable(MainActivity.this.getResources().getDrawable(R.drawable.handler)); /**锁定slidingdrawer.lock();**/ // slidingdrawer.lock(); } });