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();
}
}
}