我想更改操作栏中的选项菜单中显示的弹出菜单的显示。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.activity_main_tabs, menu);
Drawable drawableLangue = menu.findItem(R.id.langues).getIcon();
DrawableCompat.setTint(drawableLangue, ContextCompat.getColor(this, R.color.colorAccent));
Drawable drawableAbout = menu.findItem(R.id.about).getIcon();
DrawableCompat.setTint(drawableAbout, ContextCompat.getColor(this, R.color.colorAccent));
return true;
}
这是选项菜单:
<?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"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainTabsActivity">
<item
android:id="@+id/langues"
android:icon="@drawable/baseline_language_black_18"
android:title="@string/languages"
app:showAsAction="always|withText"
android:visible="true">
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/fr"
android:title="Français"/>
<item
android:id="@+id/ar"
android:title="العربية"/>
</menu>
</item>
<item
android:id="@+id/about"
android:icon="@drawable/baseline_info_black_18"
android:title="@string/credit_title"
app:showAsAction="always|withText"
android:visible="true">
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/team"
android:title="@string/credit_team"/>
</menu>
</item>
在 style.xml 中,我设法更改了弹出菜单的backgtound颜色:
<style name="PopupMenuStyle" parent="Theme.AppCompat.Light">
<item name="android:background">@color/colorPrimary</item>
</style>
我找不到改变弹出菜单的宽度的方法(以适应文本长度),因为还剩下一些空白。