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();
}
});

浙公网安备 33010602011771号