DrawerLayout初步了解

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
这个类不在android开发工具包中,在android.support.v4.widget.DrawerLayout中,能实现左右侧滑的效果。
相关属性:
    android:layout_gravity:设置抽屉的内容从左边或者右边出来
相关方法:
    openDrawer(Gravity.LEFT | Gravity.RIGHT):设置左边 | 右边内容出来
    closeDrawer(Gravity.LEFT | Gravity.RIGHT):关闭左边 | 右边内容出来

代码示意:
    主框架代码:
<android.support.v4.widget.DrawerLayout xmlns: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" >
 
<include layout="@layout/activity_center"/>
</LinearLayout>
 
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="#00ff00" >
 
<include layout="@layout/activity_left" />
</LinearLayout>
 
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="right"
android:background="#0000ff" >
 
<include layout="@layout/activity_right" />
</LinearLayout>
 
</android.support.v4.widget.DrawerLayout>
中间xml文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns: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文件代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns: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文件代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns: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文件代码:
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.widget.DrawerLayout;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
 
public class MainActivity extends Activity {
 
private Button btn_closeLeft;
private Button btn_closeRight;
private Button btn_openLeft;
private Button btn_openRight;
private DrawerLayout dl_main;
 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
 
private void init() {
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(new OnClickListener() {
 
@Override
public void onClick(View v) {
dl_main.openDrawer(Gravity.LEFT);
}
});
 
btn_openRight.setOnClickListener(new OnClickListener() {
 
@Override
public void onClick(View v) {
dl_main.openDrawer(Gravity.RIGHT);
}
});
 
// 添加关闭监听事件
btn_closeLeft.setOnClickListener(new OnClickListener() {
 
@Override
public void onClick(View v) {
dl_main.closeDrawer(Gravity.LEFT);
}
});
 
btn_closeRight.setOnClickListener(new OnClickListener() {
 
@Override
public void onClick(View v) {
dl_main.closeDrawer(Gravity.RIGHT);
}
});
}
 
}
Android侧滑控件DrawerLayout实战案例 Android v4包为开发者提供了一个侧滑控件DrawerLayout,使用起来也非常简单方便,省去了过去我们使用第三方库SlidingMenu之类的烦恼。本篇博文主要是演示如何使用v4包下的侧滑控件DrawerLayout来现实一个可以左右侧滑的效果。(本案例在Eclipse下开发) 阅读详情

相关推荐

DrawerLayout禁用侧边滑动

使用DrawerLayout的时候有时会出现侧边栏只能滑出一小部分,然后在手指抬起之后侧边栏并没有弹出来的情况,我不清楚这是否是一个BUG,但是个人感觉有些影响体验,索性直接将侧边滑动给禁用掉。DrawerLayout的侧边滑动可以通过设置锁定模式来禁用 mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);

大熊猫 1万+

AndoidX 中 DrawerLayout 的使用

AndoidX 中 DrawerLayout 的使用欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图...

Snitro的博客 1万+

我对DrawerLayout了解

最近几天看了下Drawerlayout,细看了一下它的布局,可以大致分为三个小布局,一个是ToolBar,第一个是顶端的菜单栏,第二个是主布局,第三个就是侧滑菜单栏,先把这三个布局做出来后,在用Linearlayout就组合起来可以。 首先先来看ToolBar,代码如下 <android.support.v7.widget.Toolbar xmlns:android="http://

CASER_HDMI的博客 524

DrawerLayout的基本用法

今天看到一篇博客,有种相见恨晚的感觉。DrawerLayout是google支持的,感觉很棒.....

2万+

DrawerLayout和ToolBar

DrawerLayout和ToolBar一、效果二、ToolBar常用方法三、DrawerLayout的常用方法四、ToolBar和DrawerLayout代码 一、效果 二、ToolBar常用方法 1.supportRequestWindowFeature(Window.FEATURE_NO_TITLE);去掉标题栏; 2.Toolbar.setLogo(),设置logo图片; 3.Toolb...

weixin_43863384的博客 890

DrawerLayout简单使用

一.DrawerLayout其实是一个布局空间,与linearLayout一样,区别是 DrawerLayout带有滑动功能 DrawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏,主内容区的部分可以随着菜单的点击而变化(需要自己实现) 使用注意事项: 主内容视图一定要是DrawerLayout的第一个子视图,就是抽屉没有打开是现实的布局 主内容视图宽度和高度...

KWON_QMY的博客 2495

DrawerLayout

DrawLayout我们应该使用androidx.drawerlayout.widget.DrawerLayout 并非V4版本的android.support.v4.widget.DrawerLayout 首先简单过一下DrawerLayout源码(这里截取重点) public class DrawerLayout extends ViewGroup { ... private final ViewDragHelper mLeftDragger; private final Vie

CAir2的专栏 562

DrawerLayout 的使用

drawerLayout是Support Library包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出现之后,google借鉴而出现的产物。drawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性),主内容区的内容可以随着菜单的点击而变化(这需要使用者自己实现)。 实例

nkdwslsd的专栏 352

DrawerLayout的简单使用

DrawerLayout的简单使用 相关知识点 DrawerLayout&SlideMeau DrawerLayut(listview)&Fragment ActionBarDrawerToggle 核心内容 DrawerLayout是什么呢,他是谷歌提供给开发者用来实现Metrial Design效果的侧边栏空间,位于android.support.v4.widget

DennisJu的专栏 1881

android drawerlayout用法,Android DrawerLayout

DrawerLayoutDrawerLayout,官方给我们提供的一个侧滑菜单控件,3.0以后引入。为了兼容低版本,可以使用v4兼容包里的DrawerLayout。随着Material Design设计规范的发布,越来越多的应用用到了侧滑菜单的动画效果。Toolbar和DrawerLayout的组合可以实现非常好的效果。首先来看下总体的效果,网易云音乐App:网易云音乐.pngDrawerLayo...

weixin_35045970的博客 2853

【安卓初步】使用DrawerLayout,Toolbar,NavigationView,实现简单的侧滑效果

XML布局 ** 主xml** <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" x...

lzx's blog 514

drawerlayout

//依赖 //侧边栏的依赖--需要根据自己的版本进行更改版本 implementation 'com.android.support:design:26.1.0'   public class MainActivity extends AppCompatActivity {     @Override     protected void onCreate(Bundle savedIn...

宠歆小王子的博客 373

react-native-renderer安卓开发实战:掌握DrawerLayout与Toolbar组件

react-native-renderer是一个强大的框架,它允许开发者使用Angular和React Native来构建安卓和iOS应用。本指南将重点介绍如何在安卓开发中实战应用DrawerLayout与Toolbar组件,帮助你打造专业的移动应用界面。 [![react-native-renderer框架logo](https://raw.gitcode.com/gh_mirrors/re/

gitblog_00943的博客 552

Toolbar与DrawerLayout

还记得我们每次打开的程序的标题栏吗?那不是 toolbar 做的,那是 actionbar 做的, Toolbar 可以说是Actionbar 的升级版了。Toolbar 不仅有 Actionbar 的所有功能,而且还更加灵活.在项目运行在虚拟机上时,都可以看见屏幕上方有一个栏目(下图红框圈出的部分),此为系统默认的DarkActionBar ,可在 themes.xml 中查看。...

m0_60623666的博客 812

DrawerLayout详解

drawerLayout是Support Library包中实现了侧滑菜单效果的控件,可以说drawerLayout是因为第三方控件如MenuDrawer等的出现之后,google借鉴而出现的产物。drawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性),主内容区的内容可以随着菜单的点击而变化(这需要使用者自己实现)。drawerLay

life_power的博客 579

DrawerLayout 和ActionBar的联动中遇到问题,ActionBar 不能控制DrawerLayout

DrawerLayout 和ActionBar的联动http://blog.csdn.net/Rodulf/article/details/50901481 在按照上面做的时候,DrawerLayout 和ActionBar的联动中遇到问题,ActionBar 不能控制DrawerLayout 后来发现,我重写的方法错了, //TODO 注意了这里ActionBar和 Drawe

Kodulf的专栏 1017

DrawerLayout抽屉布局

-----------------------activity_main代码----------------------- xml version="1.0" encoding="utf-8"?> android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android

Lucky_7777777的博客 344

Android之侧滑菜单DrawerLayout

Android之侧滑菜单DrawerLayout 目前侧滑菜单已广泛应用于各大应用,这一菜单形式简洁明了,深受用户的喜爱。在谷歌官方推出 DrawerLayout 之前,开发者大都通过 SlidingMenu 开源库来实现这一功能。而现在 DrawerLayout 被谷歌包含在了 android-support-v4.jar 这个包下,可以让开发者更简单方便的实现侧滑菜单这一功能。Goo

li__haha的博客 598

android drawerlayout 遮罩层白色,DrawerLayout常见问题

图片.png1.取消DrawerLayout滑出时内容区(Content)域遮罩效果:如图中Content区域的遮罩半透明效果源码:android\support\v4\widget\DrawerLayout.java:/*** Set a color to use for the scrim that obscures primary content while a drawer is open...

weixin_32272937的博客 781
上一篇: LinearLayout初步了解
下一篇: Spinner初步了解
Yo_Hack
博客等级 码龄12年 2粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值