【问题标题】:How to display menu icon to right of menu icons?如何在菜单图标右侧显示菜单图标?
【发布时间】:2017-04-06 01:08:06
【问题描述】:

我有一个从右到左打开的导航抽屉,我在左侧有菜单图标但我希望它们在右侧。如何将它们移动到菜单项的右侧?screenshot

这是我的菜单文件

<group android:checkableBehavior="single">

    <item

        android:id="@+id/nav_artsdesign_photography"
        android:title="Arts, Design and Photography"
        android:icon="@mipmap/ic_launcher"/>

    <item

        android:id="@+id/nav_biographies_autobiographies"
        android:title="Biographies and Autobiographies" />

    <item

        android:id="@+id/nav_comic_graphic_novels"
        android:title="Comic and Graphic Novels" />

    <item

        android:id="@+id/nav_computer_internet"
        android:title="Computer and Internet " />
    <item

        android:id="@+id/nav_history_politics"
        android:title="History and Politics" />
    <item

        android:id="@+id/nav_health_cooking"
        android:title="Health and Cooking" />
    <item

        android:id="@+id/nav_indian_writing"
        android:title="Indian Writing" />
    <item

        android:id="@+id/nav_international_books"
        android:title="International Books" />
    <item

        android:id="@+id/nav_medical"
        android:title="Medical" />
    <item

        android:id="@+id/nav_religion_spirituality"
        android:title="Religion and Spirituality" />
    <item

        android:id="@+id/nav_school_books"
        android:title="School Books" />
    <item

        android:id="@+id/nav_other"
        android:title="Other" />


</group>

我的布局

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <include
        layout="@layout/activity_toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <FrameLayout

        android:id="@+id/frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />



</LinearLayout>

<android.support.design.widget.NavigationView
    android:id="@+id/navigation_view"
    android:layout_height="match_parent"
    android:layout_width="wrap_content"
    android:layout_gravity="start"
    app:headerLayout="@layout/activity_navigation_header"
    app:menu="@menu/drawer_view"


    >
    <include layout="@layout/activity_navigation_header"/>

  </android.support.design.widget.NavigationView>

请帮忙。

【问题讨论】:

  • 你必须使用自定义 NavigationDrawer..
  • 我卡住了。你能提供任何链接吗??
  • 等我把答案贴出来!!
  • 我在等先生。请提供有用的链接
  • androidhive.info/2015/04/… 查看此链接并相应更改nav_drawer_row.xml

标签: android icons alignment android-navigationview


【解决方案1】:

将 nav_drawer_row.xml 更改为:

nav_drawer_row.xml

<?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:orientation="horizontal"
    android:clickable="true">

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="30dp"
        android:paddingTop="10dp"
        android:paddingBottom="10dp"
        android:textSize="15dp"
        android:textStyle="bold" />

<ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_profile"
             />

</LinearLayout>

【讨论】:

  • 我无法制作自定义导航抽屉
  • 先生,您只需要根据需要更改此 xml 即可。我不认为这很难做到..
  • 在哪里实现 nav_drawer row .sir
  • 所以我必须将 NavigationView 更改为 Fragment。因为您提供了链接
  • 不只是接口。我还没有实现 onItemclick 监听器
【解决方案2】:

试试这个: 在您的 xml 文件中:

<android.support.design.widget.NavigationView
    android:id="@+id/navigation_view"
    android:layout_height="match_parent"
    android:layout_width="wrap_content"
    android:layout_gravity="end"
    app:headerLayout="@layout/header"
    app:menu="@menu/drawer"
    />

在您的 java 文件中:

 @Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            if (mDrawer.isDrawerOpen(Gravity.RIGHT)) {
                mDrawer.closeDrawer(Gravity.RIGHT);
            } else {
                mDrawer.openDrawer(Gravity.RIGHT);
            }
            return true;
        case R.id.action_settings:
            return true;
    }

【讨论】:

  • 这与问题无关。他要求菜单图标应该出现在右边,而不是抽屉里。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 2018-11-26
  • 2020-02-03
  • 2018-03-25
  • 2015-12-13
  • 1970-01-01
相关资源
最近更新 更多