`

DrawerLayout的使用和背景设置去除阴影

阅读更多


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

用起来还是比较简单的:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/weather_drawer">

    <include layout="@layout/你的主布局layout"/>
    <!--主布局写在这里-->

    <LinearLayout
        android:layout_width="200dp"
        android:layout_height="match_parent"
        android:id="@+id/weather_left_drawer"
        android:orientation="vertical"
        android:layout_gravity="left"
        android:background="@color/black">
        <ListView
            android:layout_width="200dp"
            android:layout_height="match_parent"
            android:id="@+id/left_drawer_listview"
            android:background="@color/black">
        </ListView>
    </LinearLayout>
    <!--左抽屉-->

    <LinearLayout
        android:layout_width="200dp"
        android:layout_height="match_parent"
        android:id="@+id/weather_right_drawer"
        android:orientation="vertical"
        android:layout_gravity="right"
        android:background="@color/black">
        <ListView
            android:layout_width="200dp"
            android:layout_height="match_parent"
            android:id="@+id/right_drawer_listview"
            android:background="@color/black">
        </ListView>
    </LinearLayout>
    <!--右抽屉-->
</android.support.v4.widget.DrawerLayout>



主布局放在第一个,抽屉布局放在后面,android:layout_gravity="xxx",这个属性标识了drawer,这里需要吐槽一下,as的代码提示并没有这个属性。这个属性的值left或者right标识你的这个drawer是从左侧还是右侧划出来。
这时候有同学可能会问了,主布局放在后面行不行,放在中间行不行呀,反正drawerlayout都是靠layout_gravity识别layout_gravity的。
答案:不行。上面那个布局,若将主布局放在两个抽屉中间,会出现一个bug:左边抽屉划出来就划不回去了!(右边的没影响)诸君可自己尝试。


还有一个问题,默认状态下,抽屉划出来的时候会有一层阴影遮住主布局,如下图:


 

怎么解决这个问题呢,也还是蛮简单的,

drawerLayout.setScrimColor(Color.TRANSPARENT);

添加代码后效果如下图所示:


 

好了,drawerlayout的基本用法和一些小问题讲到这,想到啥我再补充吧。有问题请留言哟。
 
 

 

  • 大小: 67.5 KB
  • 大小: 91.7 KB
分享到:
评论

相关推荐

    DrawerLayout去除阴影,阴影部分点击不关闭抽屉并可以触发相关view,抽屉侧滑可响应关闭

    以上就是实现"DrawerLayout去除阴影,阴影部分点击不关闭抽屉并可以触发相关view,抽屉侧滑可响应关闭"这一功能的完整步骤。在实际项目中,你可能需要根据具体需求进行微调,例如添加过渡动画或者处理滑动冲突等问题...

    DrawerLayout去除内容阴影,点击内容不关闭抽屉,抽屉默认打开,抽屉滑动时内容区域跟随移动

    DrawerLayout是Android开发中常用的组件,常用于实现侧滑抽屉效果,常见于导航菜单或者设置界面。在Android应用设计中,DrawerLayout提供了方便的方式来展示附加的、可隐藏的视图,用户可以通过从屏幕边缘滑动来显示...

    drawerlayout

    总之,DrawerLayout是Android应用中实现侧滑菜单的关键组件,通过合理地配置和使用,可以提升应用的交互性和用户界面的美观性。熟练掌握DrawerLayout的使用,将有助于开发者构建更符合现代移动应用设计趋势的项目。

    DrawerLayout使用demo

    为了开启和关闭抽屉,我们可以使用DrawerLayout的`openDrawer()`和`closeDrawer()`方法,或者使用DrawerToggle。DrawerToggle是一个接口,提供了图标切换、监听抽屉状态等功能。在Activity中,我们需要设置...

    DrawerLayout使用

    为了增加用户体验,还可以使用`NavigationView`的一些特性,如设置头像、标题和子标题,以及自定义视图。同时,`NavigationView`还支持`NavigationItemSelectedListener`,可以监听用户在侧边栏中选择的项,从而触发...

    DrawerLayout + Toolbar 与主题theme 颜色设置

    下面将详细介绍如何使用 `DrawerLayout`、`Toolbar` 以及如何在Android应用中设置主题颜色。 `DrawerLayout` 是Android支持库中的一个布局组件,它允许开发者在屏幕边缘(通常是从左侧或右侧)滑出一个抽屉式的菜单...

    android Toolbar + DrawerLayout 一起使用

    在Android应用开发中,`Toolbar`和`DrawerLayout`是两个非常重要的组件,它们共同构建了常见的导航界面设计。`Toolbar`作为自Android Lollipop版本引入的可定制化动作栏,替代了传统的`ActionBar`,提供了更多的灵活...

    使用DrawerLayout实现侧拉菜单

    使用DrawerLayout,开发者可以在主视图旁边滑出一个或多个"抽屉",通常包含导航菜单或设置选项。 ### 1. DrawerLayout的基本结构 DrawerLayout由两部分组成:主内容视图(Main Content View)和一个或多个抽屉视图...

    Fragment的嵌套和侧滑菜单DrawerLayout加标签页的使用demo

    本项目“Fragment的嵌套和侧滑菜单DrawerLayout加标签页的使用demo”旨在演示如何在Android Studio中巧妙地结合Fragment、DrawerLayout以及SlidingTabLayout来创建一个功能丰富的应用界面。 首先,我们来详细解析每...

    DrawerLayout

    6. 使用DrawerLayout的方法来控制抽屉的开关,如openDrawer()和closeDrawer()。 关键属性和方法: - android:drawerLockMode:锁定抽屉的状态,可设置为"unlocked"(默认)、"lock"(始终关闭)、"unlockWhenOpen...

    DrawerLayout和SlidingMenu实现侧滑菜单

    本文将详细讲解如何使用`DrawerLayout`和`SlidingMenu`库来实现这一功能。 首先,`DrawerLayout`是Android SDK自带的一个组件,它是Android官方推荐的实现侧滑菜单的方式。`DrawerLayout`允许开发者在主屏幕的边缘...

    DrawerLayout练习以及Icon

    在这个项目中,开发者可以学习如何设置抽屉的打开和关闭动画,如何添加和处理抽屉的滑动事件,以及如何将NavigationView与DrawerLayout集成。在实践中,通常会使用`setDrawerListener()`方法来监听抽屉的状态变化,...

    DrawerLayout和NavigationView实现侧滑菜单

    4. **设置监听器**:在MainActivity中,获取DrawerLayout的实例,并设置其打开和关闭的监听器。通常,我们会在点击汉堡图标或主视图外的区域时触发打开,点击菜单项时关闭抽屉。 5. **连接NavigationView**:通过`...

    Android侧滑菜单DrawerLayout

    在Android应用开发中,侧滑菜单(通常称为DrawerLayout)是一种常见的设计模式,它允许用户通过从屏幕边缘向内滑动来展示一个隐藏的...通过合理地使用和定制,开发者可以构建出符合用户习惯且功能强大的Android应用。

    DrawerLayoutDemo

    在"DrawerLayoutDemo"中,这个文件可能指定了支持的最低Android版本和所使用的SDK工具版本。 `AndroidManifest.xml`是Android应用的核心配置文件,它声明了应用的组件(如Activity、Service)、权限请求、应用图标...

    DrawerLayout的简单使用

    DrawerLayout是一个抽屉式菜单,在app开发中是很常见的,比较简单且很实用的一个东西。如果你喜欢我写的东西,可以到我的个人博客(kntryer.github.io)看看,小白一个,大神莫嫌弃,谢谢!

    DrawerLayout和NavigationView轻松实现抽屉侧滑

    通过 DrawerLayout 和 NavigationView 的结合使用,开发者可以轻松地在 Android 应用中实现专业的抽屉侧滑效果,提供用户友好的导航体验。在实际开发中,根据具体需求,还可以对抽屉的动画效果、布局样式等进行...

    viewPager和drawerLayout实现侧拉菜单和滑动标签

    博客文章"viewPager和drawerLayout实现侧拉菜单和滑动标签"可能详细介绍了如何设置和配置这两个组件,包括自定义适配器、处理触摸事件、以及实现抽屉滑动效果的动画。文章中的代码示例可能提供了实际操作的指导,...

    Android DrawerLayout简单Demo

    调用`setSupportActionBar()`方法设置Action Bar,然后使用`ActionBarDrawerToggle`连接Action Bar和`DrawerLayout`。通过监听`DrawerLayout`的状态,处理菜单的打开和关闭事件。 6. **菜单项的点击事件** 为了...

Global site tag (gtag.js) - Google Analytics