抽屉组件的滑动效果

布局文件:

<SlidingDrawer
android:id="@+id/slidingdrawer"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:content="@+id/content"
android:handle="@+id/handle"
android:orientation="horizontal" >

<ImageView
android:id="@+id/handle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ico_left" />
<LinearLayout
android:id="@+id/content"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:background="#f00"
android:orientation="vertical" >
</LinearLayout>
</SlidingDrawer>

 

代码示例演示:

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(Tabone_music.this, "窗口拖动结束。", Toast.LENGTH_SHORT).show();
}

@Override
public void onScrollStarted() { // 拖动开始
Toast.makeText(Tabone_music.this, "正在拖动窗口。", Toast.LENGTH_SHORT).show();
}
}

 

声明的变量名:

private String data[] = { "音乐电台", "个人收藏", "用户设置", "个人资料", "音乐论坛" }; // 定义显示的数据
private ListView listView; // 定义ListView组件
private SlidingDrawer slidingDrawer; // 定义SlidingDrawer

 

 

 
相关文章
相关标签/搜索