将方向水平设置为NavigationView中菜单内的项目

时间:2016-07-11 02:08:49

标签: android android-navigationview

我有一个NavigationView,其app:headerLayoutapp:menu有三组项目。其中一个群体是为社交媒体制作的:

    <menu>
        <item
            android:id="@+id/nav_facebook"
            android:icon="@drawable/ic_facebook"
            android:title="@string/nav_drawer_facebook" />
        <item
            android:id="@+id/nav_twitter"
            android:icon="@drawable/ic_twitter"
            android:title="@string/nav_drawer_twitter" />
        <item
            android:id="@+id/nav_instagram"
            android:icon="@drawable/ic_instagram"
            android:title="@string/nav_drawer_instagram" />
        <item
            android:id="@+id/nav_google_plus"
            android:icon="@drawable/ic_google"
            android:title="@string/nav_drawer_googleplus" />
        <item
            android:id="@+id/nav_share"
            android:icon="@drawable/ic_menu_share"
            android:title="@string/nav_drawer_share" />
    </menu>

所以我的问题是,是否有任何方法可以使此菜单的方向水平:

此时它看起来像这样:

enter image description here

但我希望它看起来像这样:

enter image description here

我想在旁边显示图标以保证一些空间。我知道我可以做一个自定义布局,但我想知道是否有办法用app:menu做到这一点。

任何帮助将不胜感激。提前完成。

3 个答案:

答案 0 :(得分:1)

添加

app:actionLayout="@layout/action_layout"

成一个项目, 其中action_layout是您希望以水平方向显示的布局,这是一个示例:

<item
   android:id="@+id/nav_manage"
   android:title="layout"
   app:actionLayout="@layout/action_layout" /> 

答案 1 :(得分:0)

只需输入此行

应用:showAsAction =&#34;总是&#34;

答案 2 :(得分:0)

我这样做,但是每次我犯错的时候我都会写这个...

<item
android:id="@+id/nav_item"
android:title="@string/title"
android:actionlayout="@layout/mylayout_nav_item" />

但要写下来...

<item
android:id="@+id/nav_item"
android:title="@string/title"
app:actionlayout="@layout/mylayout_nav_item" />

它没有显示

  • app:actionLayout

但是您必须输入... 当您提供布局和全部内容时,它不会显示错误