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

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

一概述

SlidingDrawer(滑动式抽屉)隐藏屏外的内容,并允许用户拖拽一个handle以显示隐藏的内容。SlidingDrawer可以在垂直或者水平使用。它由两个子视图组成:一个是用户拖拽的handle(柄),另一个是随着拖动变化的content(内容)。SlidingDrawer应当作为内部布局的覆盖来使用,也就是说SlidingDrawer内部应该使用FrameLayoutRelativeLayout布局。SlidingDrawer的大小决定了其内容显示时所占空间的大小,所以它的尺寸一般定义为match_parent。在XML布局中SlidingDrawer必须指定handlecontentid

二 xml属性

属性名称

描述

android:allowSingleTap

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

android:animateOnClick

指示当用户点击handle的时候,抽屉是否以动画的形式打开或关闭。默认的是true。

android:bottomOffset

Handle距离SlidingDrawer底部的额外距离

android:content

标识SlidingDrawer的内容

android:handle

标识SlidingDrawerhandle(译者注:如按钮)

android:orientation

SlidingDrawer的方向。必须是下面的一个值:

常量

描述

horizontal

0

水平方向对齐

vertical

1

竖直方向对齐

android:topOffset

Handle距离SlidingDrawer顶部的额外距离

具体实现:

main.xml

抽屉里的内容是两行图片,一行两个。

package xiaosi.SlidingDrawer;import android.app.Activity;import android.os.Bundle;import android.widget.ImageButton;import android.widget.SlidingDrawer;public class SlidingDrawerActivity extends Activity{	private SlidingDrawer slidingDrawer;	private ImageButton handle = null;	/** Called when the activity is first created. */	@Override	public void onCreate(Bundle savedInstanceState)	{		super.onCreate(savedInstanceState);		setContentView(R.layout.main);		handle = (ImageButton)findViewById(R.id.handle);		slidingDrawer = (SlidingDrawer) findViewById(R.id.slidingDrawer);		/*		 * 打开抽屉		 */		slidingDrawer.setOnDrawerOpenListener(new SlidingDrawer.OnDrawerOpenListener()		{			public void onDrawerOpened()			{				/*				 * 给抽屉把手换图片				 */				handle.setImageResource(R.drawable.arrow_bottom_pressed);			}		});		/*		 * 关闭抽屉		 */		slidingDrawer.setOnDrawerCloseListener(new SlidingDrawer.OnDrawerCloseListener() {			public void onDrawerClosed()			{				/*				 * 给抽屉把手换图片				 */				handle.setImageResource(R.drawable.arrow_top_pressed);			}		});	}}

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

你可能感兴趣的文章
Linux SWAP 交换分区配置说明
查看>>
Linux系统备份
查看>>
CentOS6.4 LVS+keepalived高可用负载均衡服务配置
查看>>
Windows 2003下网络负载平衡(负载均衡)的配置
查看>>
详解Objective-C runtime
查看>>
如何在Linux下统计高速网络中的流量
查看>>
给Linux系统/网络管理员准备的Nmap命令的29个实用范例
查看>>
使用Linux命令行测试网速
查看>>
Ubuntu/Linux Mint用上仿Win7/Win8主题
查看>>
C++界面库大全2013
查看>>
4个Linux服务器监控工具
查看>>
VS2013编译Qt5.2.1 32位静态库debug-and-release版及结果分享
查看>>
白苹果如何制作自己的OS X 10.9“巨浪”可引导系统安装盘?
查看>>
在Ubuntu、Linux Mint上安装Mac OS X主题
查看>>
Windows系统中MySQL 5.6的配置文件(my.ini)修改方法
查看>>
mysql配置优化(windows下my.ini)
查看>>
Windows环境下免安装版MySQL 5.6.11安装配置详解
查看>>
MySQL-5.6.13解压版(zip版)安装配置教程
查看>>
Visual Studio原生开发的10个调试技巧
查看>>
Visual Studio原生开发的20条调试技巧(下)
查看>>