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>