我正在尝试将菜单末尾的文本设置为menuItem,但是我尝试了 app:showAsAction =“ always | withText” ,但是文本没有显示完整长度事实上,它变得拥挤。
代码:
<?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">
<item
app:itemIconTint="@color/white"
android:id="@+id/next_btn"
android:title="@string/next"
app:showAsAction="always|withText"
/>
</menu>
工具栏:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay">
<LinearLayout
android:layout_centerInParent="true"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
>
<TextView
android:textSize="18sp"
android:layout_gravity="center_horizontal"
android:textColor="@color/white"
android:text="@string/recomended"
android:id="@+id/title_main"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:layout_gravity="center_horizontal"
android:textColor="@color/white"
android:textSize="9sp"
android:text="@string/choose_your_friends"
android:id="@+id/title_secondary"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</android.support.v7.widget.Toolbar>
toolbar.inflateMenu(R.menu.next_menu);
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.next_menu, menu);
return true;
}
答案 0 :(得分:0)
它对我有用,在我的工具栏中,我看到的操作按钮只有文本“今天” ,没有图标:
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_иет"
android:orderInCategory="200"
android:title="today"
app:showAsAction="ifRoom" />
</menu>
尝试不带 withText ,仅 ifRoom :
app:showAsAction="ifRoom"
答案 1 :(得分:0)
从菜单项中删除图标,并将app:showAsAction="always"
设置为显示文本:
<?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"
>
<item
android:id="@+id/action_edit"
android:title="@string/edit"
app:showAsAction="always"
/>
</menu>
如果什么也没出现,则可以覆盖文本颜色以使白色背景不显示白色文本(请参见Android Toolbar menu text color)。将这些行添加为您的AppTheme样式:
<item name="actionMenuTextColor">@color/gray</item>
<item name="android:actionMenuTextColor">@color/gray</item>
如果这样做没有帮助,请参见How to display both icon and title of action inside ActionBar?中的变体。
答案 2 :(得分:0)
这以编程方式对我有效
MenuItem menuitem1 = menu.add(Menu.NONE, 0, Menu.NONE, "logout");
menuitem1.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);