我想在菜单后面的抽屉的背景中有一个图像.在这段代码中,图像位于菜单前面.我不确定,但在这种特殊情况下我不能使用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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)