SlidingDrawer属性

来源:互联网 发布:node.js 根目录 编辑:程序博客网 时间:2024/05/22 05:27
<SlidingDrawer    android:id="@+id/drawer"    android:layout_width="match_parent"    android:layout_height="match_parent"     android:handle="@+id/handle"    android:content="@+id/content">     <ImageView        android:id="@+id/handle"        android:layout_width="88dip"        android:layout_height="44dip" />     <GridView        android:id="@+id/content"         android:layout_width="match_parent"        android:layout_height="match_parent" /> </SlidingDrawer>

XML文件中的属性

属性名称

描述

android:allowSingleTap

是否可通过单击handle打开或关闭抽屉。 默认是true。(如果是false,用户必须通过拖动,滑动或者使用轨迹球。)

android:animateOnClick

顾名思义,点击的时候是否有动画。默认是true。

android:bottomOffset

“手柄”距离SlidingDrawer底部的额外距离 。

android:content

SlidingDrawer的内容。

android:handle

SlidingDrawer的“手柄”。

android:orientation

SlidingDrawer的方向。

android:topOffset

“手柄”距离SlidingDrawer顶部的额外距离 。

 

一些重要的方法:

void setOnDrawerCloseListener (SlidingDrawer.OnDrawerCloseListener onDrawerCloseListener)

设置一个监听器,用来接收当抽屉被关闭时候的通知。

void setOnDrawerOpenListener (SlidingDrawer.OnDrawerOpenListener onDrawerOpenListener)

Since: API Level 3

设置一个监听器,用来接收当抽屉被打开的时候的通知。

void setOnDrawerScrollListener (SlidingDrawer.OnDrawerScrollListener onDrawerScrollListener)

设置一个监听器,用来接收当抽屉处于正在打开或者正在结束的滚动时候的通知。

animateClose():

使用动画关闭抽屉。

animateOpen ():

使用动画打开抽屉

getContent():

获取内容

isMoving():

指示SlidingDrawer是否在移动。

isOpened():

指示SlidingDrawer是否已全部打开

lock():

屏蔽触摸事件。

unlock():

解除屏蔽触摸事件。

toggle():

切换打开和关闭的抽屉SlidingDrawer。

 

一个简单的例子

我们可以引用SDK中给我们提供的XML文件。

JAVA文件中如下编写:

public class SlidingDrawerDemoActivity extends Activity {              private SlidingDrawer myDrawer;            private ImageView myImageView;            private GridView myGridView;            @Override            protected void onCreate(Bundle savedInstanceState) {                super.onCreate(savedInstanceState);                setContentView(R.layout.main);                myDrawer = (SlidingDrawer) findViewById(R.id.drawer);                myImageView = (ImageView)findViewById(R.id.handle);                myGridView = (GridView)findViewById(R.id.content);                myDrawer.setOnDrawerOpenListener(newSlidingDrawer.OnDrawerOpenListener() {                    @Override                    public void onDrawerOpened() {                        myImageView.setImageResource(R.drawable.down);                    }                });                myDrawer.setOnDrawerCloseListener(newSlidingDrawer.OnDrawerCloseListener() {                    @Override                    public void onDrawerClosed() {                        myImageView.setImageResource(R.drawable.up);                    }                });                    myGridView.setAdapter(new ImageAdapter(this));                   myGridView.setOnItemClickListener(newOnItemClickListener(){                     @Override                     public void onItemClick(AdapterView<?> arg0, Viewarg1, int arg2,                             long arg3) {                         // TODO Auto-generated method stub                         Toast.makeText(SlidingDrawerDemoActivity.this, "你选择了"+(arg2+1)+" 号图片 ", Toast.LENGTH_SHORT).show();                     }                 });    }}
0 0
原创粉丝点击