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

 

posted @ 2012-11-01 19:11  demoblog  阅读(2254)  评论(0编辑  收藏  举报