菜单项Android

时间:2015-11-30 08:12:18

标签: android menu

简单的问题,我找不到答案。

是否可以在菜单项中的图标后断行,使它们不再内联? (该菜单使用Android支持库中的NavigationView从左侧滑入)

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

<group android:checkableBehavior="single">

    <item
        android:id="@+id/cards"
        android:checked="false"
        android:icon="@drawable/card_icon"
        android:title="Cards" />

    ...
    ...
    ...

</group>

这就是我希望它的样子。

The desired look

但相反,它们是内联的。

回答后更新:

使用修改后的 android.R.layout.activity_list_item (更改为垂直对齐左侧):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="1dip"
    android:paddingBottom="1dip"
    android:paddingStart="8dip"
    android:paddingEnd="8dip"
    android:orientation="vertical">

    <TextView android:id="@android:id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left|center_horizontal"
        android:paddingStart="?android:attr/listPreferredItemPaddingStart" />

    <ImageView android:id="@+id/icon"
        android:layout_width="24dip"
        android:layout_height="24dip"
        android:layout_gravity="left" />

</LinearLayout>

我在菜单项中添加了一个actionLayout:

<item
    android:id="@+id/cards"
    android:checked="false"
    android:icon="@drawable/cards_icon"
    android:actionLayout="@layout/vertical_menu_item"
    android:title="Cards" />

但没有任何反应。它们仍然是内联的。我还尝试使用app:showAsAction="always"app:actionLayout="@layout/vertical_menu_item"

1 个答案:

答案 0 :(得分:1)

我建议您创建自定义视图(例如:使用ImageViewTextView的垂直布局),在onCreateOptionsMenu()中,您可以使用setActionView()方法android:actionLayout="@[package:]layout/layout_resource_name" 3}}将此自定义视图用作项目视图。

或者从菜单xml:

$stateParams