我正在尝试使用appcompat lib显示带有文本的图标,但我无法做到。
如果我删除图标,它会在溢出菜单中显示图标或文本。
<?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/action_next"
android:title="Next"
android:icon="@drawable/abc_ic_cab_done_holo_dark"
app:showAsAction="always|withText" />
</menu>
帮助将不胜感激。 感谢
答案 0 :(得分:0)
您可以通过两种方式创建包含文本的操作:
1-从XML:
<item android:id="@id/resource_name"
android:title="text"
android:icon="@drawable/drawable_resource_name"
android:showAsAction="withText" />
2-编程:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuItem item = menu.add(Menu.NONE, ID, POSITION, TEXT);
item.setIcon(R.drawable.drawable_resource_name);
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_WITH_TEXT);
return true;
}
答案 1 :(得分:0)
我也遇到了这个问题。使用此代码,对我来说工作正常。
@Override
public boolean onMenuOpened(int featureId, Menu menu) {
if (featureId == Window.FEATURE_ACTION_BAR && menu != null) {
if (menu.getClass().getSimpleName().equals("MenuBuilder")) {
try {
Method m = menu.getClass().getDeclaredMethod(
"setOptionalIconsVisible", Boolean.TYPE);
m.setAccessible(true);
m.invoke(menu, true);
} catch (NoSuchMethodException e) {
Log.d("DEBUG", "onMenuOpened", e);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
return super.onMenuOpened(featureId, menu);
}
&#13;
而menu.xml就像
<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"
>
<item
android:id="@+id/action_logout"
android:icon="@drawable/ic_logout"
android:orderInCategory="100"
android:title="@string/action_logout"
app:showAsAction="never"/>
<item
android:id="@+id/action_rate"
android:icon="@drawable/ic_rate"
android:orderInCategory="101"
android:title="RATE US"
app:showAsAction="never"/>
<item
android:id="@+id/action_share"
android:icon="@drawable/ic_share"
android:orderInCategory="102"
android:title="SHARE APP"
app:showAsAction="never"/>
</menu>
&#13;
试一试,让我知道