简体   繁体   English

android studio中菜单的图标不可见

[英]Icons are not visible for menu in android studio

I use navigation drawer activity in my code. 我在代码中使用导航抽屉活动。 For certain menu, icons are visible. 对于某些菜单,图标是可见的。 But for the rest it appears as a shaded square/circle. 但是对于其余部分,它显示为阴影正方形/圆形。 I tried clean/rebuild/invalidate cache and restart options, still no solution. 我尝试清理/重建/无效缓存和重新启动选项,仍然没有解决方案。 Any help please... 任何帮助请...

activity_main_drawer.xml: activity_main_drawer.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/fullstackdeveloper"
            android:icon="@mipmap/ic_launcher_stack"
            android:title="@string/home_label" />
        <item
            android:id="@+id/resourceperson"
            android:icon="@mipmap/ic_launcher_person"
            android:title="@string/about_us_label" />
        <item
            android:id="@+id/collegeworkshops"
            android:icon="@mipmap/ic_launcher_workshop"
            android:title="@string/portfolio_label" />
        <item
            android:id="@+id/tutorials"
            android:icon="@mipmap/ic_launcher_tutorial"
            android:title="@string/contacts_label" />
        <item
            android:id="@+id/tutorialvideos"
            android:icon="@mipmap/ic_launcher_video"
            android:title="@string/tutvideos_label" />

        <item
            android:id="@+id/scripts"
            android:icon="@mipmap/ic_launcher_script"
            android:title="@string/scripts_label" />

        <item
            android:id="@+id/androidapps"
            android:icon="@mipmap/ic_launcher_android"
            android:title="@string/androidapps_label" />


        <item
            android:id="@+id/analytics"
            android:icon="@mipmap/ic_launcher_analytics"
            android:title="@string/analytics_label" />

        <item
            android:id="@+id/python"
            android:icon="@mipmap/pythonlogo"
            android:title="@string/python_label" />

        <item
            android:id="@+id/rprogramming"
            android:icon="@mipmap/rprogramming"
            android:title="@string/rprogramming_label" />

        <item
            android:id="@+id/machinelearning"
            android:icon="@mipmap/ic_launcher_machine"
            android:title="@string/machinelearning_label" />

        <item
            android:id="@+id/booking"
            android:icon="@mipmap/contacts"
            android:title="@string/booking_label" />


    </group>

屏幕截图

Try this way : 尝试这种方式:

<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:checkableBehavior="single">
    <item
        android:id="@+id/Home"
        app:actionLayout="@layout/home_item"
        tools:ignore="MenuTitle" />
</group>

==========home_item============ ========== home_item ============

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_centerInParent="true"
    android:layout_height="wrap_content">
<ImageView
    android:id="@+id/home"
    android:layout_width="wrap_content"
    android:src="@mipmap/home"
    android:layout_centerVertical="true"
    android:layout_height="wrap_content">

</ImageView>

<TextView
    android:layout_width="wrap_content"
    android:layout_centerVertical="true"
    android:text="@string/HOME"
    android:textColor="@color/colorblack"
    android:layout_toRightOf="@+id/home"
    android:layout_marginLeft="@dimen/_8sdp"
    android:layout_height="wrap_content">

</TextView>

<ImageView
    android:id="@+id/right"
    android:alpha="0.3"
    android:layout_width="@dimen/_20sdp"
    android:src="@mipmap/right_arrow"
    android:layout_margin="@dimen/_8sdp"
    android:layout_alignParentRight="true"
    android:layout_centerVertical="true"
    android:padding="@dimen/_4sdp"
    android:layout_height="@dimen/_20sdp">

</ImageView>
    <View
        android:layout_width="match_parent"
        android:layout_height="2dp"
        android:layout_below="@+id/right"
        android:layout_marginLeft="@dimen/_22sdp"
        android:background="#c0c0c0"/>
</RelativeLayout>

Make sure you are following material design stander while creating icon for menu. 创建菜单图标时,请确保遵循材料设计标准。 If you follow then it will show icons otherwise not. 如果您遵循,则它将显示图标,否则不显示。 You can confirm this by setting following icon 您可以通过设置以下图标来​​确认

android:icon="@android:drawable/ic_menu_search"

You will see this icon in your drawer. 您将在抽屉中看到此图标。

Above suggestion is 1 way to show icon in drawer other way is what @jeetparmar has suggest in above answer you can follow that also. 以上建议是在抽屉中显示图标的一种方法,其他方法是@jeetparmar在以上答案中建议的内容,您也可以遵循。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM