mainActivity如下:
package c.c; import android.app.Activity; import android.os.Bundle; import android.widget.SlidingDrawer; import android.widget.SlidingDrawer.OnDrawerCloseListener; import android.widget.SlidingDrawer.OnDrawerOpenListener; import android.widget.SlidingDrawer.OnDrawerScrollListener; /** * 需求描述: * 实现一个很简单的抽屉Demo * 注意的问题: * 1 打开抽屉的图标,打开后的界面都是布局在<SlidingDrawer/>中 * 2 在<SlidingDrawer/>中 * 使用:android:handle="@+id/handle_layout" * 指定抽屉的把手 * 使用:android:content="@+id/content_layout" * 指定打开抽屉后的View * 3 SlidingDrawer一共有三个监听事件(见代码) * 注意三者的执行顺序,总的原则是: * 滑动完成后,打开(或者关闭)抽屉 * 所以:执行的顺序 * //1 setOnDrawerScrollListener * //2 setOnDrawerOpenListener * 或setOnDrawerCloseListener */ public class MainActivity extends Activity { private SlidingDrawer mSlidingDrawer; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); init(); } //执行的顺序 //1 setOnDrawerScrollListener //2 setOnDrawerOpenListener(或者setOnDrawerCloseListener) private void init(){ mSlidingDrawer=(SlidingDrawer) findViewById(R.id.slidingDrawer); mSlidingDrawer.setOnDrawerScrollListener(new OnDrawerScrollListener() { public void onScrollStarted() { System.out.println("--------> 开始滑动"); } public void onScrollEnded() { System.out.println("--------> 滑动结束"); } }); mSlidingDrawer.setOnDrawerOpenListener(new OnDrawerOpenListener() { public void onDrawerOpened() { System.out.println("--------> 打开抽屉"); } }); mSlidingDrawer.setOnDrawerCloseListener(new OnDrawerCloseListener() { public void onDrawerClosed() { System.out.println("--------> 关闭抽屉"); } }); } }
main.xml如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:text="测试抽屉效果" /> <SlidingDrawer android:id="@+id/slidingDrawer" android:layout_width="fill_parent" android:layout_height="fill_parent" android:handle="@+id/handle_layout" android:content="@+id/content_layout" android:orientation="horizontal"> <LinearLayout android:id="@+id/handle_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher" /> </LinearLayout> <LinearLayout android:id="@+id/content_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button1" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button2" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button3" /> </LinearLayout> </SlidingDrawer> </RelativeLayout>
时间: 2024-11-05 17:33:55