博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android: SlidingDrawer(滑动式抽屉)
阅读量:5909 次
发布时间:2019-06-19

本文共 2600 字,大约阅读时间需要 8 分钟。

一、简介

  SlidingDrawer隐藏屏外的内容,并允许用户通过handle以显示隐藏内容。它可以垂直或水平滑动,它有俩个View组成,其一是可以拖动的handle,其二是隐藏内容的View.它里面的控件必须设置布局,在布局文件中必须指定handle和content.

左右拉抽屉的效果,将 SlidingDrawer属性设置为android:orientation="horizontal"即可。

二、重要属性

  android:allowSingleTap:指示是否可以通过handle打开或关闭
  android:animateOnClick:指示是否当使用者按下手柄打开/关闭时是否该有一个动画。
  android:content:隐藏的内容
  android:handle:handle(手柄)

三、重要方法

  animateClose():关闭时实现动画。
  close():即时关闭
  getContent():获取内容
  isMoving():指示SlidingDrawer是否在移动。
  isOpened():指示SlidingDrawer是否已全部打开
  lock():屏蔽触摸事件。
     setOnDrawerOpenListener(new OnDrawerOpenListener():SlidingDrawer打开时调用。
  setOnDrawerCloseListener(new onDrawerCloseListener):SlidingDrawer关闭时调用。

:SlidingDrawer滑动时调用。

  unlock():解除屏蔽触摸事件。
  toggle():切换打开和关闭的抽屉SlidingDrawer。

 

private SlidingDrawer mDrawer;    private Button mDrawerBtn;            mDrawer = (SlidingDrawer) findViewById(R.id.slidingDrawer1);            mDrawerBtn = (Button) findViewById(R.id.handle);            mDrawer.setOnDrawerOpenListener(new OnDrawerOpenListener(){                public void onDrawerOpened(){                    mDrawerBtn.setBackgroundDrawable(getResources().getDrawable(R.drawable.shake_report_dragger_down));                TranslateAnimation titleup = new TranslateAnimation(                        Animation.RELATIVE_TO_SELF,0f,                        Animation.RELATIVE_TO_SELF,0f,                        Animation.RELATIVE_TO_SELF,0f,                        Animation.RELATIVE_TO_SELF,-1.0f);                titleup.setDuration(200);                titleup.setFillAfter(true);            }        });                 /* 设定SlidingDrawer被关闭的事件处理 */        mDrawer.setOnDrawerCloseListener(new OnDrawerCloseListener(){                public void onDrawerClosed(){                    mDrawerBtn.setBackgroundDrawable(getResources().getDrawable(R.drawable.shake_report_dragger_up));                TranslateAnimation titledn = new TranslateAnimation(                        Animation.RELATIVE_TO_SELF,0f,                        Animation.RELATIVE_TO_SELF,0f,                        Animation.RELATIVE_TO_SELF,-1.0f,                        Animation.RELATIVE_TO_SELF,0f);                titledn.setDuration(200);                titledn.setFillAfter(false);            }        });

 

还有注意的是: SlidingDrawer should be used as an overlay inside layouts. This means SlidingDrawer should only be used inside of a FrameLayout or a RelativeLayout for instance, 如果显示的时候不正常,考虑上面的原因。

This class was deprecated in API level 17,就是活这个类在Android API 17以上是不建议支持使用的了。

官方链接:

参考链接:

转载地址:http://fsvpx.baihongyu.com/

你可能感兴趣的文章
移动客户端与服务端Session那点秘密
查看>>
vim快速命令
查看>>
在ideal创建新的模块(子项目,同时依赖父模块)
查看>>
js禁用backspace退格键,以免造成页面后退
查看>>
Mybatis源码研究4:日志框架的实现
查看>>
js通知输入中英文的字符串长度
查看>>
对象的序列化和反序列化
查看>>
sql 子查询和连接查询
查看>>
android学习之wifimanager
查看>>
ROS與二層交換機3COM(4200)做24個多出口ADSL(固定IP)拔號
查看>>
Zabbix3.4部署
查看>>
自动Yum安装DNS服务器
查看>>
手动创建一个recipe
查看>>
DBCA静默方式创建数据库实例
查看>>
【java基础】synchronized,volatile,transient关键字的作用
查看>>
ajax传递数据显示在前端指定位置
查看>>
基于IronFunction搭建的Serverless服务
查看>>
MindManager 2012 出现runtime error的处理办法
查看>>
MySQL慢查询日志分析的配置
查看>>
我的友情链接
查看>>