如何在Android的操作栏中设置图片?

问题描述

我正在尝试向操作栏添加图像,但这很难,因为我没有使用工具栏。我仅使用菜单和导航抽屉。我创建了一个自定义工具栏,但是我有2条而不是1条。 这是我的activity_main.xml:

  <?xml version="1.0" encoding="utf-8"?>
    <androidx.drawerlayout.widget.DrawerLayout 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"
        android:id="@+id/dashboard"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".Dashboard2"
        android:background="#fff"
       >
    
    
    
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:visibility="visible">
    
    
        </LinearLayout>
        
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginTop="32dp">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="22sp"
                android:text="Minha Dashboard"
                android:textColor="#000"
                android:layout_marginTop="15dp"
                android:layout_marginLeft="92dp"
    
                />
    
    <!--        <ImageView-->
    <!--            android:layout_width="62dp"-->
    <!--            android:layout_height="62dp"-->
    <!--            android:layout_alignParentRight="true"-->
    <!--            android:src="@drawable/img"/>-->
    
        </RelativeLayout>
    
    
    
    
        <LinearLayout
            android:orientation="vertical"
            android:weightSum="12"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    
            <RelativeLayout
                android:layout_weight="2"
                android:layout_width="match_parent"
                android:layout_height="0dp">
    
    
    
            </RelativeLayout>
    
            <GridLayout
                android:id="@+id/mainGrid"
                android:columnCount="2"
                android:rowCount="3"
                android:alignmentMode="alignMargins"
                android:columnorderPreserved="false"
                android:layout_weight="8"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:padding="14dp"
                >
    
                <!-- Row 1 -->
    
                <!-- Column 1 -->
                <androidx.cardview.widget.CardView
                    android:layout_width="0dp"
                    android:layout_height="0dp"
                    android:layout_columnWeight="1"
                    android:layout_rowWeight="1"
                    android:layout_marginBottom="16dp"
                    android:layout_marginLeft="16dp"
                    android:layout_marginRight="16dp"
                    app:cardElevation="8dp"
                    app:cardCornerRadius="8dp"
                    app:cardBackgroundColor="#303F9F"
                    >
    
                    <LinearLayout
                        android:layout_gravity="center_horizontal|center_vertical"
                        android:layout_margin="16dp"
                        android:orientation="vertical"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content">
    
                        <ImageView
                            android:src="@drawable/ic_baseline_home_24"
                            android:layout_gravity="center_horizontal"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content" />
    
                        <TextView
                            android:text="Visão Geral"
                            android:textAlignment="center"
                            android:textColor="@android:color/white"
                            android:textSize="18sp"
                            android:textStyle="bold"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content" />
    
                    </LinearLayout>
    
                </androidx.cardview.widget.CardView>
    
                <!-- Column 2 -->
                <androidx.cardview.widget.CardView
                    android:layout_width="0dp"
                    android:layout_height="0dp"
                    android:layout_columnWeight="1"
                    android:layout_rowWeight="1"
                    android:layout_marginBottom="16dp"
                    android:layout_marginLeft="16dp"
                    android:layout_marginRight="16dp"
                    app:cardElevation="8dp"
                    app:cardCornerRadius="8dp"
                    app:cardBackgroundColor="#303F9F"
                    >
    
                    <LinearLayout
                        android:layout_gravity="center_horizontal|center_vertical"
                        android:layout_margin="16dp"
                        android:orientation="vertical"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content">
    
                        <ImageView
                            android:src="@drawable/ic_baseline_store_24"
                            android:layout_gravity="center_horizontal"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content" />
    
                        <TextView
                            android:text="Logística"
                            android:textAlignment="center"
                            android:textColor="@android:color/white"
                            android:textSize="18sp"
                            android:textStyle="bold"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content" />
    
                    </LinearLayout>
    
                </androidx.cardview.widget.CardView>
    
    
                <!-- Row 2 -->
    
                <!-- Column 1 -->
                <androidx.cardview.widget.CardView
                    app:cardBackgroundColor="#303F9F"
                    android:layout_width="0dp"
                    android:layout_height="0dp"
                    android:layout_columnWeight="1"
                    android:layout_rowWeight="1"
                    android:layout_marginBottom="16dp"
                    android:layout_marginLeft="16dp"
                    android:layout_marginRight="16dp"
                    app:cardElevation="8dp"
                    app:cardCornerRadius="8dp"
                    >
    
                    <LinearLayout
                        android:layout_gravity="center_horizontal|center_vertical"
                        android:layout_margin="16dp"
                        android:orientation="vertical"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content">
    
                        <ImageView
                            android:src="@drawable/ic_baseline_credit_card_24"
                            android:layout_gravity="center_horizontal"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content" />
    
                        <TextView
                            android:text="Pagamentos"
                            android:textAlignment="center"
                            android:textColor="@android:color/white"
                            android:textSize="18sp"
                            android:textStyle="bold"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content" />
    
                    </LinearLayout>
    
                </androidx.cardview.widget.CardView>
    
                <!-- Column 2 -->
                <androidx.cardview.widget.CardView
                    android:layout_width="0dp"
                    android:layout_height="0dp"
                    android:layout_columnWeight="1"
                    android:layout_rowWeight="1"
                    android:layout_marginBottom="16dp"
                    android:layout_marginLeft="16dp"
                    android:layout_marginRight="16dp"
                    app:cardElevation="8dp"
                    app:cardCornerRadius="8dp"
                    app:cardBackgroundColor="#303F9F">
    
                    <LinearLayout
                        android:layout_gravity="center_horizontal|center_vertical"
                        android:layout_margin="16dp"
                        android:orientation="vertical"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content">
    
                        <ImageView
                            android:src="@drawable/ic_baseline_date_range_24"
                            android:layout_gravity="center_horizontal"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content" />
    
                        <TextView
                            android:text="Antecipação"
                            android:textAlignment="center"
                            android:textColor="@android:color/white"
                            android:textSize="18sp"
                            android:textStyle="bold"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content" />
    
                    </LinearLayout>
    
                </androidx.cardview.widget.CardView>
    
    
                <!-- Row 2 -->
    
                <!-- Column 1 -->
                <androidx.cardview.widget.CardView
                    android:layout_width="0dp"
                    android:layout_height="0dp"
                    android:layout_columnWeight="1"
                    android:layout_rowWeight="1"
                    android:layout_marginBottom="16dp"
                    android:layout_marginLeft="16dp"
                    android:layout_marginRight="16dp"
                    app:cardElevation="8dp"
                    app:cardCornerRadius="8dp"
                    app:cardBackgroundColor="#303F9F"
                    >
    
                    <LinearLayout
                        android:layout_gravity="center_horizontal|center_vertical"
                        android:layout_margin="16dp"
                        android:orientation="vertical"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content">
    
                        <ImageView
                            android:src="@drawable/ic_baseline_list_24"
                            android:layout_gravity="center_horizontal"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content" />
    
                        <TextView
                            android:text="Extrato"
                            android:textAlignment="center"
                            android:textColor="@android:color/white"
                            android:textSize="18sp"
                            android:textStyle="bold"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content" />
    
                    </LinearLayout>
    
                </androidx.cardview.widget.CardView>
    
                <!-- Column 2 -->
                <androidx.cardview.widget.CardView
                    android:layout_width="0dp"
                    android:layout_height="0dp"
                    android:layout_columnWeight="1"
                    android:layout_rowWeight="1"
                    android:layout_marginBottom="16dp"
                    android:layout_marginLeft="16dp"
                    android:layout_marginRight="16dp"
                    app:cardElevation="8dp"
                    app:cardCornerRadius="8dp"
                    app:cardBackgroundColor="#303F9F"
                    >
    
                    <LinearLayout
                        android:layout_gravity="center_horizontal|center_vertical"
                        android:layout_margin="16dp"
                        android:orientation="vertical"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content">
    
                        <ImageView
                            android:src="@drawable/ic_baseline_shopping_cart_24"
                            android:layout_gravity="center_horizontal"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content" />
    
                        <TextView
                            android:text="vendas"
                            android:textAlignment="center"
                            android:textColor="@android:color/white"
                            android:textSize="18sp"
                            android:textStyle="bold"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content" />
    
                    </LinearLayout>
    
                </androidx.cardview.widget.CardView>
    
    
            </GridLayout>
    
        </LinearLayout>
    
    
    
    
        <com.google.android.material.navigation.NavigationView
            android:layout_width="wrap_content"
            android:id="@+id/navigationView"
            android:layout_height="match_parent"
            android:background="@color/white"
            app:itemTextColor="@color/darkgray"
            app:itemIconTint="#0099FF"
            app:menu="@menu/main_menu"
            android:layout_gravity="start"
            app:headerLayout="@layout/header">
    
        </com.google.android.material.navigation.NavigationView>

</androidx.drawerlayout.widget.DrawerLayout>

这是MainActivity.java:

package com.example.test;

import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.drawerlayout.widget.DrawerLayout;

import android.app.ActionBar;
import android.content.ClipData;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toolbar;

import com.google.android.material.navigation.NavigationView;

import de.hdodenhof.circleimageview.CircleImageView;

public class Dashboard2 extends AppCompatActivity {
    private DrawerLayout mDrawerLayout;
    private ActionBarDrawerToggle mToggle;
    private NavigationView mNavigationView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_dashboard2);
        mDrawerLayout = (DrawerLayout) findViewById(R.id.dashboard);
        mNavigationView = (NavigationView) findViewById(R.id.navigationView) ;

        mToggle = new ActionBarDrawerToggle(this,mDrawerLayout,R.string.open,R.string.close);
        mDrawerLayout.addDrawerListener(mToggle);
        mToggle.syncState();
        getSupportActionBar().setdisplayHomeAsUpEnabled(true);
        getSupportActionBar().setTitle("");

        getSupportActionBar().setElevation(0);
        hidedrawermenu();
        //title bar option




//        getSupportActionBar().setIcon(getDrawable(R.drawable.img));
//        Toolbar toolbar = findViewById(R.id.toolbar);
//        setSupportActionBar(toolbar);


        getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#ffffff")));

    }

    @Override
    public boolean onoptionsItemSelected(@NonNull MenuItem item) {
        if(mToggle.onoptionsItemSelected(item)){
            return true ;
        }
        return super.onoptionsItemSelected(item);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main_menu,menu);




        return super.onCreateOptionsMenu(menu);
    }
    private void hidedrawermenu(){
        Menu menu = mNavigationView.getMenu();
        menu.findItem(R.id.user).setVisible(false);
    }



}

这是我的菜单

<?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">



    <item android:id="@+id/vg" android:title="Visão Geral" android:icon="@drawable/homeblue"/>
    <item android:id="@+id/vendas" android:title="vendas" android:icon="@drawable/shopping_cart"/>
    <item android:id="@+id/ext" android:title="Extrato" android:icon="@drawable/format_list_bulleted"/>
    <item android:id="@+id/pag" android:title="Pagamentos" android:icon="@drawable/credit_card"/>
    <item android:id="@+id/log" android:title="Logística" android:icon="@drawable/store"/>
<!--    <item android:id="@+id/mc" android:title="Minha conta"/>-->
    <item android:id="@+id/ant" android:title="Antecipação" android:icon="@drawable/date_range"/>
    <item android:id="@+id/sair" android:title="Sair" android:icon="@drawable/sair"/>

  



</menu>

我有一个汉堡菜单,我想要旁边的图像像徽标

Screenshot of the emulator

我该如何实现?谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)