侧滑菜单DrawerLayout的使用
来源:互联网 发布:电脑挂机赚钱软件 编辑:程序博客网 时间:2024/05/15 08:01
DrawerLayout是Android的support.v4包中提供的控件,在没有该控件之前,大家广泛使用开源库SlidingMenu来实现侧滑菜单的功能。
使用该控件比较简单,首先我们定义一个DrawerLayout的根布局
<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawerLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- 第一个View表示主布局 --> <RelativeLayout android:id="@+id/rl" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="30sp" android:text="这是主布局"/> </RelativeLayout> <!-- 第二个View表示侧滑菜单的布局 --> <LinearLayout android:id="@+id/ll_drawerLeft" android:layout_width="300dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="#ffffcc" android:orientation="vertical"> <ImageView android:id="@+id/iv_drawerLeft" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@mipmap/ic_launcher"/> <Button android:id="@+id/btn_drawerLeft" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="这是一个按钮"/> </LinearLayout></android.support.v4.widget.DrawerLayout>
关于布局需要注意以下几点:
1. 主内容视图一定要是DrawerLayout布局的第一个View。第二个View便是侧滑菜单,可以选择性的添加第三个视图,使左右各一个侧滑菜单
2.必须显示指定抽屉布局(本文使用的是LinearLayout)的android:layout_gravity属性
android:layout_gravity=”start”时,从右向左侧滑出
android:layout_gravity=”end”时,从左向右侧滑出
“start” 和 “end” 可以用 “left” 和 “right” 来代替,但是不建议替换
布局完成后,我们就可以再Activity中操作了
public class MainActivity extends Activity implements View.OnClickListener { private DrawerLayout mDrawerLayout; //根布局 private LinearLayout ll_drawer; //侧滑栏布局 private TextView tv; private Button btn_drawer; private ImageView iv_drawer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView) findViewById(R.id.tv); mDrawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout); ll_drawer = (LinearLayout) findViewById(R.id.ll_drawerLeft); btn_drawer = (Button) findViewById(R.id.btn_drawerLeft); iv_drawer = (ImageView) findViewById(R.id.iv_drawerLeft); btn_drawer.setOnClickListener(this); //可以直接对侧滑栏控件进行操作 iv_drawer.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.btn_drawerLeft: tv.setText("点击了按钮"); mDrawerLayout.closeDrawer(ll_drawer); //把侧滑栏ll_drawer关闭 break; case R.id.iv_drawerLeft: tv.setText("点击了头像图片"); mDrawerLayout.closeDrawer(ll_drawer); break; } }}
0 0
- Android侧滑菜单DrawerLayout的使用
- AndroidUI 侧滑菜单 DrawerLayout的使用
- DrawerLayout(侧滑菜单)的使用
- 侧滑菜单DrawerLayout的使用
- 侧滑菜单--DrawerLayout的使用
- 侧滑菜单DrawerLayout的使用
- Android侧滑菜单之DrawerLayout的使用
- (4.1.34)Android侧滑菜单DrawerLayout的使用
- android侧滑菜单-DrawerLayout的基本使用
- (转)Android侧滑菜单DrawerLayout的使用
- DrawerLayout(官方侧滑菜单)的简单使用(转载)
- Android 侧滑菜单(DrawerLayout+ToolBar的使用)
- 侧滑菜单drawerlayout的使用和一些小问题
- Android 侧滑菜单DrawerLayout简单的使用_田少嵩
- ActionBar与DrawerLayout侧滑菜单的使用
- Android之侧滑菜单DrawerLayout的使用
- Material Design之侧滑菜单DrawerLayout+NavigationView的使用
- DrawerLayout(官方侧滑菜单)的简单使用
- Linux device tree设备树
- find ./ -name "hardware.*" 查找文件
- 优雅编程之这样重构函数,你就“正常”了(十九)
- NOI题解(1.7编程基础之字符串)(待补全)
- Win 10 无法打开内核设备“\\.\Global\vmx86”
- 侧滑菜单DrawerLayout的使用
- 【BZOJ2460】元素,线性基+贪心
- 优雅编程之这样重构函数(续),你就“正常”了(二十)
- StartService
- Swift傻傻分不清楚系列(十二) 属性
- NYOJ:挑战密室
- Android下的Nine-Patch图片制作总结
- 二分搜索学习笔记 Java实现
- php发送邮件email