java– 带背景图像的NavigationDrawer

java– 带背景图像的NavigationDrawer,第1张

概述我想在菜单后面的抽屉的背景中有一个图像.在这段代码中,图像位于菜单前面.我不确定,但在这种特殊情况下我不能使用FrameLayout.图像也应保持其纵横比,半透明颜色应保持在其前面.这种颜色由@color/menuSemi提供<?xmlversion="1.0"encoding="utf-8"?><android.support.v4.wi

我想在菜单后面的抽屉的背景中有一个图像.在这段代码中,图像位于菜单前面.我不确定,但在这种特殊情况下我不能使用FrameLayout.

图像也应保持其纵横比,半透明颜色应保持在其前面.这种颜色由@ color / menuSemi提供

<?xml version="1.0" enCoding="utf-8"?><androID.support.v4.Widget.DrawerLayout    xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:app="http://schemas.androID.com/apk/res-auto"    xmlns:tools="http://schemas.androID.com/tools"    androID:ID="@+ID/drawer_layout"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:fitsSystemwindows="true"    tools:openDrawer="start">    <include        layout="@layout/content_main"        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent"/>    <androID.support.design.Widget.NavigationVIEw        androID:ID="@+ID/nav_vIEw"        androID:layout_wIDth="wrap_content"        androID:layout_height="match_parent"        androID:layout_gravity="start"        androID:fitsSystemwindows="true"        app:headerLayout="@layout/nav_header_main"        androID:background="@color/menuSemi"        app:itemTextcolor="@color/white"        app:itemIconTint="@color/white"        androID:paddingtop="16dp"                app:menu="@menu/activity_main">        <relativeLayout            androID:layout_wIDth="match_parent"            androID:layout_height="match_parent"            androID:layout_gravity="start">            <ImageVIEw                androID:ID="@+ID/drawer_bg"                androID:src="@drawable/sIDebar"                androID:layout_wIDth="match_parent"                androID:layout_height="match_parent"                androID:Alpha="1"                androID:scaleType="centerCrop"/>        </relativeLayout>    </androID.support.design.Widget.NavigationVIEw></androID.support.v4.Widget.DrawerLayout>

解决方法:

将NavigationVIEw放在relativeLayout中并将relativeLayout重力设置为“start”并将relativeVIEw内的ImageVIEw添加为第一个元素.

并且,设置NavigationVIEw背景透明

    <relativeLayout        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent"        androID:layout_gravity="start">        <ImageVIEw            androID:ID="@+ID/drawer_bg"            androID:src="@drawable/sIDebar"            androID:layout_wIDth="match_parent"            androID:layout_height="match_parent"            androID:Alpha="1"            androID:scaleType="centerCrop"/><androID.support.design.Widget.NavigationVIEw    androID:ID="@+ID/nav_vIEw"    androID:layout_wIDth="wrap_content"    androID:layout_height="match_parent"    androID:fitsSystemwindows="true"    app:headerLayout="@layout/nav_header_main"    androID:background="@androID:color/transparent"    app:itemTextcolor="@color/white"    app:itemIconTint="@color/white"    androID:paddingtop="16dp"        app:menu="@menu/activity_main"></androID.support.design.Widget.NavigationVIEw>    </relativeLayout>

所以,你的布局现在看起来像: –

     <?xml version="1.0" enCoding="utf-8"?>     <androID.support.v4.Widget.DrawerLayout     xmlns:androID="http://schemas.androID.com/apk/res/androID"    xmlns:app="http://schemas.androID.com/apk/res-auto"    xmlns:tools="http://schemas.androID.com/tools"    androID:ID="@+ID/drawer_layout"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:fitsSystemwindows="true"    tools:openDrawer="start">    <include        layout="@layout/content_main"        androID:layout_wIDth="match_parent"        androID:layout_height="match_parent"/> <relativeLayout            androID:layout_wIDth="match_parent"            androID:layout_height="match_parent"            androID:layout_gravity="start">            <ImageVIEw                androID:ID="@+ID/drawer_bg"                androID:src="@drawable/sIDebar"                androID:layout_wIDth="match_parent"                androID:layout_height="match_parent"                androID:Alpha="1"                androID:scaleType="centerCrop"/>    <androID.support.design.Widget.NavigationVIEw        androID:ID="@+ID/nav_vIEw"        androID:layout_wIDth="wrap_content"        androID:layout_height="match_parent"        androID:fitsSystemwindows="true"        app:headerLayout="@layout/nav_header_main"        androID:background="@color/menuSemi"        app:itemTextcolor="@color/white"        app:itemIconTint="@color/white"        androID:paddingtop="16dp"                app:menu="@menu/activity_main">    </androID.support.design.Widget.NavigationVIEw>        </relativeLayout></androID.support.v4.Widget.DrawerLayout>
总结

以上是内存溢出为你收集整理的java – 带背景图像的NavigationDrawer全部内容,希望文章能够帮你解决java – 带背景图像的NavigationDrawer所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1119653.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存