第46章、滑式抽屉SlidingDrawer(从零开始学Android)
来源:互联网 发布:苹果6移动网络快捷键 编辑:程序博客网 时间:2024/04/28 04:13
SlidingDrawer(滑动式抽屉)隐藏屏外的内容,并允许用户拖拽一个handle以显示隐藏的内容。SlidingDrawer可以在垂直或者水平使用。它由两个子视图组成:一个是用户拖拽的handle(柄),另一个是随着拖动变化的content(内容)。SlidingDrawer应当作为内部布局的覆盖来使用,也就是说SlidingDrawer内部应该使用FrameLayout或RelativeLayout布局。SlidingDrawer的大小决定了其内容显示时所占空间的大小,所以它的尺寸一般定义为match_parent。在XML布局中SlidingDrawer必须指定handle和content的id:
一、布局文件
1、打开“res/layout/activity_main.xml”文件。
输入以下代码:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <SlidingDrawer android:id="@+id/slidingdraw" android:layout_width="match_parent" android:layout_height="match_parent" android:handle="@+id/handle" android:content="@+id/content" > <ListView android:id="@id/content" android:layout_width="match_parent" android:layout_height="match_parent" /> <ImageView android:id="@id/handle" android:src="@drawable/ic_launcher" android:layout_width="88dip" android:layout_height="44dip" android:contentDescription="TODO"/> </SlidingDrawer></LinearLayout>
二、程序文件
打开“src/com.genwoxue.slidingdraw/MainActivity.java”文件。
然后输入以下代码:
package com.genwoxue.slidingdrawer;import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.SlidingDrawer;public class MainActivity extends Activity {//声明SlidingDrawerprivate SlidingDrawer mDrawer;private ImageView mImageView;private ListView lvNews;private String news[] = { "互联网产品中的情感化设计", "有效导向社交产品的商业价值", "移动开发者:得90后者得天下", "用户体验:从App的加载页面说开去", "用扁平化的界面设计吸引用户", "实体与数字世界的交集", "网络社区用户成长的5个思考模式", "十大值得关注的传统企业电商", "2013年十大热点技术发展趋势","了解产品的开发环节:环形设计论", "客户忠诚度的四个层次","在手机背面贴张'纸'就能轻松充电","互联网公司是怎样激发你的消费欲望的","高效工作的信息搜集及管理术" }; @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//获得SlidingDrawermDrawer = (SlidingDrawer) findViewById(R.id.slidingdraw);mImageView = (ImageView) findViewById(R.id.handle); //获取ListView并填充内容 lvNews = (ListView) findViewById(R.id.content); lvNews.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,news)); //监听打开抽屉事件mDrawer.setOnDrawerOpenListener(new SlidingDrawer.OnDrawerOpenListener() {@Overridepublic void onDrawerOpened() {mImageView.setImageResource(R.drawable.ic_launcher);}});//监听关闭抽屉事件mDrawer.setOnDrawerCloseListener(new SlidingDrawer.OnDrawerCloseListener() {@Overridepublic void onDrawerClosed() {mImageView.setImageResource(R.drawable.ic_launcher);}});}}
三、运行结果
作为案例,便于学习,采用了系统本身的机器人作为打开和关闭SlidingDraw抽屉的图像,如果在实际开发,则请采用看起来更美观的图片。
- 第46章、滑式抽屉SlidingDrawer(从零开始学Android)
- 从零开始学android<SlidingDrawer 隐式抽屉.三十三.>
- android SlidingDrawer(抽屉)
- android 隐式抽屉组件(SlidingDrawer)
- Android SlidingDrawer(滑动式抽屉)
- android-抽屉式界面slidingDrawer
- Android隐藏式抽屉SlidingDrawer
- android 抽屉效果 (SlidingDrawer)
- SlidingDrawer(滑动式抽屉)
- 隐藏式抽屉(SlidingDrawer)
- Android控件之SlidingDrawer(滑动式抽屉)
- Android进阶2之SlidingDrawer(滑动式抽屉)
- Android控件之SlidingDrawer(滑动式抽屉)
- Android控件之SlidingDrawer(滑动式抽屉)
- Android控件之SlidingDrawer(滑动式抽屉)
- Android控件之SlidingDrawer(滑动式抽屉)
- Android进阶2之SlidingDrawer(滑动式抽屉)
- Android控件之SlidingDrawer(滑动式抽屉)
- Rebuilding an Existing Index【每日一译】--1215
- HeapMemMP_ExtendedStats Struct Reference
- 删掉不用的字符
- 【php】PHP远程读取大文件之file_get_contents()与readfile()效率比较
- u-boot-2012.10 官方文档翻译-U-BOOT的修改、移植到新硬件
- 第46章、滑式抽屉SlidingDrawer(从零开始学Android)
- box2d 资料收集
- SDL显示文字
- HeapMemMP_Params Struct Reference
- PROFILE的管理
- 第47章、缩放控制ZoomControls(从零开始学Android)
- 第17周项目-有相同的数字?
- 第48章、弹出窗口PopupWindow(从零开始学Android)
- HeapMultiBufMP_Bucket Struct Reference