【问题标题】:Navigation Drawer Item icon Right Side [duplicate]导航抽屉项目图标右侧[重复]
【发布时间】:2017-10-26 06:10:00
【问题描述】:

我是初学者。我想知道,如何在Navigation Drawer 中添加一个项目,哪个图标将添加到项目标题的右侧。

正是我想做这张照片。

但是怎么做呢? 我想添加与此 Youtube 项目完全相同的项目。

这是Navigation Drawer 菜单:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
      <item android:title="Social Links">
        <menu>
            <item
                android:id="@+id/nav_facebook"
                android:icon="@drawable/ic_menu_facebook"
                android:title="Facebook"
                />
            <item
                android:id="@+id/nav_youtube"
                android:icon="@drawable/ic_menu_youtube"
                android:title="Youtube"
                />
            <item
                android:id="@+id/nav_twitter"
                android:icon="@drawable/ic_menu_twitter"
                android:title="Twitter"
                />

        </menu>
    </item>

</menu>

我还在Manifest附上了这段代码:

android:supportsRtl="true"

【问题讨论】:

  • 宁可创建菜单,为什么不创建自定义视图?使用回收站视图并创建多个视图
  • 尝试创建包含 TextView 和 ImageView 的自定义 ArrayAdapter
  • 好的,否则不可能?请给我一个链接以获取此自定义视图。谢谢

标签: java android navigation-drawer menuitem


【解决方案1】:

在 res 布局文件夹下,创建一个名为 menu_image.xml 的布局。此布局用于在 YouTube 标签旁边呈现图像。

menu_image.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="match_parent"
    android:gravity="center_vertical"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="6dp"
        android:layout_height="6dp"
        android:background="@drawable/addyourimage"></LinearLayout>

</LinearLayout>

活动:

 navigationView.getMenu().getItem(5).setActionView(R.layout.menu_image);

更多Referencer

【讨论】:

  • 嗨,它正在显示,但我如何定义我的 menuitem 序列号?我在那里使用了组
  • 我没听懂你的意思...可以解释一下
  • 非常感谢。它正在工作。我刚刚像我一样修改了你的代码。参见:` NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); // navigationView.getMenu().getItem(2).setActionView(R.layout.nav_menu_layout);菜单 menuNav = navigationView.getMenu(); MenuItem facebookItem = menuNav.findItem(R.id.nav_facebook); facebookItem.setActionView(R.layout.nav_menu_layout); `
  • 我可以在社交媒体上加你吗?请。
  • 谢谢!这对我有用。
【解决方案2】:

根据您的要求创建自定义布局

并将其用作 NavigationView 中的 headelLayout

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/...." />

【讨论】:

    猜你喜欢
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多