DrawerLayout初步了解
2015-10-14 00:38
323 查看
这个类不在android开发工具包中,在android.support.v4.widget.DrawerLayout中,能实现左右侧滑的效果。相关属性:android:layout_gravity:设置抽屉的内容从左边或者右边出来相关方法:openDrawer(Gravity.LEFT|Gravity.RIGHT):设置左边|右边内容出来closeDrawer(Gravity.LEFT|Gravity.RIGHT):关闭左边|右边内容出来代码示意:主框架代码:
<android.support.v4.widget.DrawerLayoutxmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/dl_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.mixm.activity.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ff0000">
<includelayout="@layout/activity_center"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="#00ff00">
<includelayout="@layout/activity_left"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="right"
android:background="#0000ff">
<includelayout="@layout/activity_right"/>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>中间xml文件:
<?xmlversion="1.0"encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btn_openLeft"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打开左边"
/>
<Button
android:id="@+id/btn_openRight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="打开右边"
/>
</RelativeLayout>左边屉子xml文件代码:
<?xmlversion="1.0"encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btn_closeLeft"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="关闭"/>
</RelativeLayout>右边屉子xml文件代码:
<?xmlversion="1.0"encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btn_closeRight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="关闭"
/>
</RelativeLayout>java文件代码:
importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.support.v4.widget.DrawerLayout;
importandroid.view.Gravity;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.widget.Button;
publicclassMainActivityextendsActivity{
privateButtonbtn_closeLeft;
privateButtonbtn_closeRight;
privateButtonbtn_openLeft;
privateButtonbtn_openRight;
privateDrawerLayoutdl_main;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
privatevoidinit(){
dl_main=(DrawerLayout)findViewById(R.id.dl_main);
btn_openLeft=(Button)findViewById(R.id.btn_openLeft);
btn_openRight=(Button)findViewById(R.id.btn_openRight);
btn_closeLeft=(Button)findViewById(R.id.btn_closeLeft);
btn_closeRight=(Button)findViewById(R.id.btn_closeRight);
//添加打开监听事件
btn_openLeft.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
dl_main.openDrawer(Gravity.LEFT);
}
});
btn_openRight.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
dl_main.openDrawer(Gravity.RIGHT);
}
});
//添加关闭监听事件
btn_closeLeft.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
dl_main.closeDrawer(Gravity.LEFT);
}
});
btn_closeRight.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
dl_main.closeDrawer(Gravity.RIGHT);
}
});
}
}
相关文章推荐
- Windows环境下的麦克风录音系统
- icon+appname+key
- SQLite 按照日期分组
- 数组的逆向输出
- LinearLayout初步了解
- cookie和session的区别与联系
- 如何使用npm发布Node.JS程序包
- RelativeLayout初步了解
- VISTA或WIN7下使用立体声混音作为录音来源时,如何通过编程方式去除或加入麦克风的输入
- VS中的解决方案设置--文件结构
- mysql客户端操作 简数据库建立
- 闭包
- 硬造的轮子趟过的坑--浮点型转字符串函数
- ubuntu安装配置JDK(亲测)
- iOS简介
- handler机制理解
- mysql中的order by
- 黑马程序员——Gui
- internquestions
- SparkSQL的解析详解