我的菜单项变大了,所以我想将它们分组并制作一个分隔线来分隔每个组.
我现在应该怎么做 ?
我现在应该怎么做 ?
<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>