【问题标题】:How to add more than one menu items in android navigation panel如何在android导航面板中添加多个菜单项
【发布时间】:2017-03-14 06:43:28
【问题描述】:

我想在 android 导航面板的一行中添加两个图标(Facebook 和 twitter 图标)...有人知道如何处理那个 xml 菜单文件吗? 这是menu.xml文件的代码...

<?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/nav_home"
            android:title="HOME" />
        <item
            android:id="@+id/nav_products"
            android:title="PRODUCTS" />
        <item
            android:id="@+id/nav_notes"
            android:title="NOTES" />
        <item
            android:id="@+id/nav_aboutus"
            android:title="ABOUT US" />
        <item
            android:id="@+id/nav_enq"
            android:title="ENQUIRY" />
        <item
            android:id="@+id/nav_news"
            android:title="NEWS" />
        <item
            android:id="@+id/nav_cal"
            android:title="CALCULATOR"
            />
</group>
</menu>

我想在计算器按钮后添加两个社交媒体网站按钮!!

【问题讨论】:

  • 您必须创建自定义导航抽屉才能连续添加两个图标。

标签: android xml android-layout navigation-drawer


【解决方案1】:

您可以使用app:actionLayout 来插入布局。

<item
    android:id="@+id/nav_home"
    android:icon="@drawable/ic_nav_home"
    android:title="Home"
    app:actionLayout="@layout/homeLayout" />

创建homeLayout.xml 并简单地添加图标。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/iv_facebook"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:src="@drawable/ic_facebook" />

    <ImageView
        android:id="@+id/iv_twitter"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:src="@drawable/ic_twitter" />
</RelativeLayout>

希望对你有帮助!

【讨论】:

  • 那么 onclick 事件呢?
  • 谢谢我找到了我必须添加点击监听器的地方:-)...感谢您的快速回复
【解决方案2】:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item android:id="@+id/facebook"
        android:icon="@drawable/fb"
        app:showAsAction="always"
        android:title="Facebook"
      />

   <item android:id="@+id/twitter"
        android:icon="@drawable/twitter"
        app:showAsAction="always"
        android:title="Twitter"
      />


</menu>

使用此代码..这有效。

【讨论】:

    【解决方案3】:

    您可以尝试自定义 NavDrawer 布局,使其在内部包含列表视图或回收器视图,然后您可以修改其中的行。

    一个很好的教程可以找到here

    【讨论】:

      【解决方案4】:

      请使用我认为可以解决问题的 Fontawesome 库

      https://code.tutsplus.com/tutorials/how-to-use-fontawesome-in-an-android-app--cms-24167

      【讨论】:

      • 问题是在同一行添加两个图标
      猜你喜欢
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多