为什么操作栏上没有显示操作图标
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);
以上是关于为什么操作栏上没有显示操作图标的主要内容,如果未能解决你的问题,请参考以下文章