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>