我正在尝试在DrawerLayout上附加菜单项的自定义布局,但正如您所看到的菜单项没有全宽,我无法解决此问题
我的菜单布局
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:id="@+id/groupOne">
<item
android:id="@+id/inbox"
app:actionLayout="@layout/create_new"/>
</group>
</menu>
我的自定义布局为create_new
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="5dp"
android:paddingBottom="5dp">
<TextView
android:layout_width="match_parent"
android:layout_height="25dp"
android:text="New Text"
android:gravity="left|center"
android:layout_marginLeft="20dp"
android:background="#000"
android:textColor="#fff"/>
</LinearLayout>
答案 0 :(得分:1)
是的,对我有用的唯一方法是在自定义布局的根视图上设置android:layout_width="100000dp"
。
答案 1 :(得分:0)
在导航菜单/导航抽屉/菜单项中添加自定义微调器。
1)在菜单目录中创建菜单项。
<menu>
> <item
> android:id="@+id/navigation_drawer_item3"
> app:actionLayout="@layout/nav_drawer_home_spinner"
> tools:ignore="MenuTitle,icon" />
</menu>
2)导航抽屉,您可以在其中放置所有类型的导航抽屉 这里。 - 标题 -menu与图标 -menu没有图标 -custom菜单项(Spineer)
<android.support.v4.widget.DrawerLayout android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" android:background="@color/md_white_1000" tools:openDrawer="start"> <include layout="@layout/app_bar_dashboard" android:layout_width="match_parent" android:layout_height="match_parent" /> <android.support.design.widget.NavigationView android:id="@+id/navigation_drawer_container" android:layout_width="match_parent" android:layout_height="match_parent" android:elevation="0dp" android:background="@color/md_white_1000" android:nestedScrollingEnabled="true" android:layout_gravity="start"> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" android:scrollbars="vertical" android:background="@color/md_white_1000"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@color/md_white_1000"> <android.support.design.widget.NavigationView android:id="@+id/navigation_drawer_with_icon" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:layout_gravity="center" android:elevation="0dp" android:background="@color/md_white_1000" app:itemTextColor="@color/colorAccent" app:itemIconTint="@color/colorAccent" app:headerLayout="@layout/nav_header_dashboard" android:theme="@style/NavigationViewStyle" app:menu="@menu/activity_dashboard_drawer"/> <android.support.design.widget.NavigationView android:id="@+id/navigation_drawer_without_icon" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/md_white_1000" app:itemTextColor="@color/colorAccent" android:elevation="0dp" android:layout_gravity="bottom" android:theme="@style/NavigationViewStyleOnlyText" app:menu="@menu/activity_dashboard_withouticon_drawer"/> <android.support.design.widget.NavigationView android:id="@+id/navigation_drawer_spinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:elevation="0dp" android:layout_gravity="bottom" app:menu="@menu/activity_dashboard_spinner"/> </LinearLayout> </android.support.v4.widget.NestedScrollView> </android.support.design.widget.NavigationView> </android.support.v4.widget.DrawerLayout>
3)自定义row_spinner_layout,用于放置菜单的自定义布局 该导航视图的项目。
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:weightSum="1" android:orientation="horizontal"> <ImageView android:id="@+id/img_profilPic" android:layout_width="0dp" android:layout_weight="0.15" android:layout_height="wrap_content" android:padding="3dp" android:src="@drawable/profilepic" /> <LinearLayout android:layout_width="0dp" android:layout_weight="0.7" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="5dp" android:orientation="vertical"> <TextView android:id="@+id/tv_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="18sp" android:textColor="@color/colorAccent" android:text=""/> <TextView android:id="@+id/tv_subtitle" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="12sp" android:textColor="@color/colorAccent" android:text=""/> </LinearLayout> </LinearLayout>