Android SlidingDrawer 抽屉效果的实现

时间:2023-08-02 07:58:30 

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

1、布局layou文件


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<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="vertical" >
<Button
android:id="@+id/handle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SlidingDraser" />
<LinearLayout <!--隐藏的内容-->
android:id="@+id/content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#00ffaa" >
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<EditText
android:id="@+id/editText"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</SlidingDrawer>
</LinearLayout>



 2、下面是运行程序之后的界面

Android SlidingDrawer 抽屉效果的实现Android SlidingDrawer 抽屉效果的实现

另:可在drawable中添加文件

    <?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
        <item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/handle_normal" /> 
        <item android:state_pressed="true" android:drawable="@drawable/handle_pressed" /> 
        <item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/handle_focused" /> 
        <item android:state_enabled="true" android:drawable="@drawable/handle_normal" /> 
        <item android:state_focused="true" android:drawable="@drawable/handle_focused" /> 
    </selector> 

总结:

1、重要属性

android:allowSingleTap:指示是否可以通过handle打开或关闭

android:animateOnClick:指示是否当使用者按下手柄打开/关闭时是否该有一个动画。

android:content:隐藏的内容

android:handle:handle(手柄)

2、重要方法

animateClose():关闭时实现动画。

close():即时关闭

getContent():获取内容

isMoving():指示SlidingDrawer是否在移动。

isOpened():指示SlidingDrawer是否已全部打开

lock():屏蔽触摸事件。

setOnDrawerCloseListener(SlidingDrawer.OnDrawerCloseListener onDrawerCloseListener):SlidingDrawer关闭时调用

setOnDrawerOpenListener

setOnDrawerScrollListener

unlock():解除屏蔽触摸事件。

toggle():切换打开和关闭的抽屉SlidingDrawer。

标签:Android,SlidingDrawer,抽屉效果
0
投稿

猜你喜欢

  • Java并发内存模型详情

    2023-06-04 23:50:23
  • Java轻松掌握面向对象的三大特性封装与继承和多态

    2021-07-27 02:39:11
  • java项目构建Gradle的使用教程

    2023-06-07 19:17:41
  • 关于mybatis一对一查询一对多查询遇到的问题

    2022-01-26 05:25:12
  • Java Spring框架简介与Spring IOC详解

    2021-08-06 03:05:56
  • c#可空类型的作用说明

    2021-12-24 18:00:49
  • Android判断Activity是否在最上层的方法

    2023-05-09 05:31:01
  • java实现鲜花销售系统

    2023-08-29 20:23:42
  • SpringBoot如何在运行时动态添加数据源

    2023-11-13 21:36:40
  • Android自定义View实现开关按钮

    2021-09-08 08:53:22
  • Spring Boot 集成Redisson实现分布式锁详细案例

    2023-06-10 05:09:17
  • SpringBoot之webflux全面解析

    2022-09-27 12:07:20
  • Android标题栏中添加返回按钮功能

    2022-09-16 05:52:47
  • Java深入学习图形用户界面GUI之创建窗体

    2022-11-17 02:40:36
  • android绘制圆形图片的两种方式示例

    2021-10-11 13:17:28
  • 将15位身份证补全为18位身份证的算法示例详解

    2022-07-15 19:33:43
  • Java数组的扩容代码示例

    2021-10-10 00:04:21
  • Android Gradle依赖管理、去除重复依赖、忽略的方式

    2023-06-08 16:07:12
  • 关于idea中Java Web项目的访问路径问题

    2023-01-04 21:23:32
  • springboot static关键字真能提高Bean的优先级(厉害了)

    2023-03-10 07:39:12
  • asp之家 软件编程 m.aspxhome.com