为什么操作栏上没有显示操作图标

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么操作栏上没有显示操作图标相关的知识,希望对你有一定的参考价值。

我开发了android应用程序,我想创建一个放在动作栏上的动作,它可以看作图标。我添加了一个分辨率为18x18px的drawable并创建了一个带有一个项目的菜单,这是我的动作,如下所示:

<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=".RelationsActivity">

<item
    android:id="@+id/action_show_profile"
    android:icon="@drawable/profile_icon_16"
    android:title="@string/action_show_profile"
    app:showAsAction="always" />

正如您所看到的,showAsAction属性设置为“always”,但仍然无效。我试过不同的App主题并没有任何帮助。肯定有足够的空间可以禁用图标cuz操作栏标题:

getActionBar().setDisplayShowTitleEnabled(false);

该操作存在于溢出下拉列表中,就好像该图标没有空间一样。

答案

用这个

Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true);

而这种方法也是如此

 @Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.YOUR_MENU_FILE, menu);
    return true;
}
另一答案
implements AppCompatCallback

and use this code inside oncreate method

  //let's create the delegate, passing the activity at both arguments (Activity, AppCompatCallback)
        AppCompatDelegate  delegate = AppCompatDelegate.create(this, this);

        //we need to call the onCreate() of the AppCompatDelegate
        delegate.onCreate(savedInstanceState);

        //we use the delegate to inflate the layout
        //delegate.setContentView(R.layout.activity_sync_contact);


        toolbar = (Toolbar) findViewById(R.id.toolbar);
        toolbar.setNavigationIcon(R.drawable.ic_menu);// icon of navigation 
        toolbar.setTitle("Inbox");
        delegate.setSupportActionBar(toolbar);

以上是关于为什么操作栏上没有显示操作图标的主要内容,如果未能解决你的问题,请参考以下文章

Android 搜索图标未显示在操作栏上

应用程序图标未显示在操作栏上

任务栏上没有显示Telerik RadWindow图标c#wpf [复制]

如何在android中的操作栏上添加多个图标?

如何在带有更多片段的操作栏上添加后退按钮

win10任务栏uwp应用没有图标,怎么解决