mainActivity如下:
[java]
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如下:
[html]
<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>