我的菜单项变大了,所以我想将它们分组并制作一个分隔线来分隔每个组.
我现在应该怎么做 ?
我现在应该怎么做 ?
- <menu xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto">
- <!--group1-->
- <item
- android:id="@+id/action_addtag"
- android:title="@string/add_hashtag_string"
- app:showAsAction="never" />
- <item
- android:id="@+id/action_block_list"
- android:title="Block"
- app:showAsAction="never" />
- <item
- android:id="@+id/action_report_list"
- android:title="Report"
- app:showAsAction="never" />
- <!--group2-->
- <item
- android:id="@+id/terms"
- android:title="Terms"
- app:showAsAction="never" />
- <item
- android:id="@+id/Feedback"
- android:title="FeedBack"
- app:showAsAction="never" />
- <!--group3-->
- <item
- android:id="@+id/action_setting"
- android:title="Setting"
- app:showAsAction="never" />
- </menu>
解决方法
您需要做的就是定义一个具有唯一ID的组,如果组具有不同的ID,我已经检查了实现,它将创建一个分隔符.
示例菜单,创建分隔符:
- <menu 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"
- tools:context=".MainActivity">
- <group android:id="@+id/grp1">
- <item
- android:id="@+id/navigation_item_1"
- android:checked="true"
- android:icon="@drawable/ic_home"
- android:title="@string/navigation_item_1" />
- </group>
- <group android:id="@+id/grp2">
- <item
- android:id="@+id/navigation_item_2"
- android:icon="@drawable/ic_home"
- android:title="@string/navigation_item_2" />
- </group>
希望这可以帮助
UPDATE
对于菜单项可能是你可以使用它
- <menu 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">
- <item
- android:id="@+id/action_cart"
- android:title="cart"
- android:actionLayout="@layout/cart_update_count"
- android:icon="@drawable/shape_notification"
- app:showAsAction="always"/>
- </menu>
和actionLayout文件将是
- <LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:orientation="vertical">
- <View
- android:id="@+id/divider"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="@drawable/divider"/>
- <TextView
- android:id="@android:id/text"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:background="?android:attr/selectableItemBackground"
- android:gravity="center_vertical"
- android:textAppearance="?attr/textAppearanceListItemSmall"/>
- </LinearLayout>