在我的应用程序中,我有选项菜单,默认情况下放在顶部。当我们按下菜单将在该菜单中打开时,他们之间没有选项之间的行。我想在分隔符之间显示行。
我尝试更改它的主题,但我不会有其他解决方案,因为如果我改变主题它将完全影响我的应用程序。
它在AppTheme中的工作不在AppTheme.AppCompat中。
我希望它能够完成主题变化。
如果有人想要代码,我会发布。
sheet_visible
答案 0 :(得分:3)
有很多方法可以实现这一目标。
解决方案1 ==>您可以在菜单xml中创建组,如下所示
<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></menu>
解决方案2 ==&gt;您可以制作如下所示的自定义动作布局
<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/custom_layout"
android:icon="@drawable/shape_notification"
app:showAsAction="always"/>
和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"/>
解决方案3 ==&gt;您可以为特定活动制作自定义主题
<style name="CustomTheme" parent="android:Theme.Holo.Light">
<item name="android:actionBarStyle">@style/ActionBar</item></style>
<style name="ActionBar"parent="android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">@color/action_bar_background</item>
<item name="android:showDividers">beginning</item>
<item name="android:divider">@color/action_bar_divider</item></style>
解决方案4 ==&gt;您可以自定义查看DropdownlistView
<style name="PopupMenuListView" parent="@style/Widget.AppCompat.ListView.DropDown">
<item name="android:divider">#000000</item>
<item name="android:dividerHeight">1dp</item>
</style>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:dropDownListViewStyle">@style/PopupMenuListView</item></style>
您可以参考此链接add divider in menu item