Java 如何在Android中添加带有文本菜单选项的图像?

Java 如何在Android中添加带有文本菜单选项的图像?,java,android,android-layout,android-menu,android-icons,Java,Android,Android Layout,Android Menu,Android Icons,我正在尝试使用文本和图像实现一个自定义菜单选项,看起来像下图: 不幸的是,我不知道如何实现这一点 我的menu.xml看起来像: <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools

我正在尝试使用文本和图像实现一个自定义菜单选项,看起来像下图:

不幸的是,我不知道如何实现这一点

我的
menu.xml
看起来像:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.example.admin.ddcart.LIST">

    <item android:id="@+id/action_settings1"
        android:title="@string/action_settings1"
        android:orderInCategory="100" 
        app:showAsAction="never" />

    <item android:id="@+id/action_settings2"    
        android:title="@string/action_settings2"
        android:orderInCategory="100" 
        app:showAsAction="never" />

     <item android:id="@+id/action_settings3" 
         android:title="@string/action_settings3"
         android:orderInCategory="100" 
         app:showAsAction="never" />

</menu>

android:icon=@drawable/your_image“
属性添加到项目标签

 <item android:id="@+id/action_settings2"    
       android:title="@string/action_settings2"
       android:icon=@drawable/your_image"/>

如果您的图像位于
mipmap
目录中,请使用

android:icon=@mipmap/your_image"
android:icon=@drawable/your_image"
如果您的图像位于
drawable
dir中,则使用

android:icon=@mipmap/your_image"
android:icon=@drawable/your_image"
对于图标更喜欢在每个图标中添加四个可绘制图标

  • 可绘制hdpi图像尺寸36*36
  • 可绘制mdpi图像大小24*24
  • 可绘制xhdpi图像大小48*48
  • 可绘制xxhdpi图像大小72*72
  • 可绘制xxxdpi图像尺寸96*96
也可以使用向量

在drawable目录中创建名为delete.xml的精细文件

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:viewportHeight="24.0" android:viewportWidth="24.0" android:width="24dp">
    <path android:fillColor="#FFFFFF" android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>
</vector>
要生成png和向量,请使用

易于调整颜色、大小等 创建png矢量

=>一次点击即可生成png的关闭所有尺寸


通过这种方式,您可以将图标设置为菜单

输出

只需将图像添加为菜单项中的
图标
变量即可

 <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">
        <group
            android:id="@+id/menu_top"
            android:checkableBehavior="single"
            >
            <item
                android:checked="true"
                android:id="@+id/drawer_gmail"
                android:icon="@drawable/gmail"
                android:title="Gmail"/>
            <item
                android:id="@+id/bluetooth"
                android:icon="@drawable/bluetooth"
                android:title="Bluetooth" >
            </item>
...
</group>


</menu>

...

您只需在“菜单”中设置一个listview,然后通过java代码创建一个特殊的适配器来放大“文本和图像一起布局”。创建一个包含imageview和textview的布局,使用您的特殊适配器来放大并将结果传输到listview,这样您就可以随心所欲地拥有一个菜单

如果您在进行以下评论时出错。


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

    <item android:id="@+id/setting"
        android:title="Setting"
        android:icon="@drawable/ic_settings_black_24dp"/>

    <item android:id="@+id/profile"
        android:title="Profile"
        android:icon="@drawable/ic_account_circle_black_24dp"/>

    <item android:id="@+id/chat"
        android:title="Chat"
        android:icon="@drawable/ic_chat_black_24dp"/>
</menu>

使用此问题是此链接的重复问题这两个其他链接帮助您并欢迎使用Stack Overflow。请描述提供的代码如何解决此问题?