main.xml:
?
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/MyLayout" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <SlidingDrawer android:id="@+id/slidingdrawer" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" android:handle="@+id/handle" android:content="@+id/content"> <ImageView android:id="@+id/handle" android:src="@drawable/ico_left" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <LinearLayout android:id="@+id/content" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> </LinearLayout> </SlidingDrawer></LinearLayout>
?
?
?
?
?
MySlidingDrawerDemo.java:
import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.SlidingDrawer;import android.widget.SlidingDrawer.OnDrawerCloseListener;import android.widget.SlidingDrawer.OnDrawerOpenListener;import android.widget.SlidingDrawer.OnDrawerScrollListener;import android.widget.Toast;public class MySlidingDrawerDemo extends Activity { private String data[] = { "选项1", "选项2", "选项3", "选项4", "选项5"}; // 定义显示的数据 private ListView listView; // 定义ListView组件 private SlidingDrawer slidingDrawer ; // 定义SlidingDrawer private ImageView handle ; // 定义图片显示 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); LinearLayout layout = (LinearLayout) super.findViewById(R.id.content) ; this.listView = new ListView(this) ; // 实例化组件 listView.setAdapter(new ArrayAdapter<String>(this, // 将数据包装 android.R.layout.simple_expandable_list_item_1, // 每行显示一条数据 this.data)); // 设置组件内容 layout.addView(this.listView) ; // 增加组件 this.slidingDrawer = (SlidingDrawer) super.findViewById(R.id.slidingdrawer) ; this.handle = (ImageView) super.findViewById(R.id.handle) ;// 取得组件 this.slidingDrawer.setOnDrawerOpenListener(new OnDrawerOpenListenerImpl()) ; // 设置监听 this.slidingDrawer.setOnDrawerCloseListener(new OnDrawerCloseListenerImpl()) ; // 设置监听 this.slidingDrawer.setOnDrawerScrollListener(new OnDrawerScrollListenerImpl()) ;// 设置监听 } private class OnDrawerOpenListenerImpl implements OnDrawerOpenListener { @Override public void onDrawerOpened() { handle.setImageResource(R.drawable.ico_right) ; // 窗口打开监听 } } private class OnDrawerCloseListenerImpl implements OnDrawerCloseListener { @Override public void onDrawerClosed() { handle.setImageResource(R.drawable.ico_left) ; // 窗口关闭监听 } } private class OnDrawerScrollListenerImpl implements OnDrawerScrollListener { @Override public void onScrollEnded() { // 拖动结束 Toast.makeText(MySlidingDrawerDemo.this, "窗口拖动结束。", Toast.LENGTH_SHORT).show(); } @Override public void onScrollStarted() { // 拖动开始 Toast.makeText(MySlidingDrawerDemo.this, "正在拖动窗口。", Toast.LENGTH_SHORT).show(); } }}
?