在人像模式图标和文本动作条(ActionBar with icon and text in port

2019-08-31 15:48发布

我似乎无法得到的图像和文字在纵向模式下工作的操作栏中的菜单项,无论我怎么努力。 我甚至试图迫使Android的纵向

我的XML:

 <item android:id="@+id/menu_save"
  android:icon="@drawable/content"
  android:orderInCategory="100"
  android:title="New Group"
 android:showAsAction="withText|always" />

有没有人想通了这一点?

Answer 1:

从本机动作条的config.xml文件中:

值:

<bool name="config_allowActionMenuItemTextWithIcon">false</bool>

值-480dp:

<bool name="config_allowActionMenuItemTextWithIcon">true</bool>

要回答你的问题:

不,你不能这样做,如果设备宽度小于480dp小。 (除非你想创建一个自定义ROM与改装成框架)



Answer 2:

艾哈迈德的回答清楚为什么这是不可能的。 这是烦人的操作栏是不容易定制。

一个快速和肮脏的解决方案是将菜单中的两个按钮,从一个删除图标并给予第二不同的名称。 然后在对应的Java文件,复制在onOptionsItemSelected额外的按钮功能。 这得到了其创建操作栏自定义视图。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:yourapp="http://schemas.android.com/apk/res-auto" >
    <item android:id="@+id/action_done"
          android:icon="@drawable/ic_done"
          android:title="@string/done"
          yourapp:showAsAction="always" />
    <item android:id="@+id/action_done2"
          android:title="@string/done"
          yourapp:showAsAction="always" />
    <item android:id="@+id/action_cancel"
          android:icon="@drawable/ic_cancel"
          android:title="@string/cancel"
          yourapp:showAsAction="always" />
    <item android:id="@+id/action_cancel2"
          android:title="@string/cancel"
          yourapp:showAsAction="always" />
</menu>

我也看到了这个答案,但没有尝试: withText在拆分动作条的#google日历法 。 这是它是如何在谷歌日历进行,也依赖于更换操作栏自定义视图。



Answer 3:

做到这一点最简单的方法是:

<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:ignore="AppCompatResource">
<item
    android:id="@+id/action_nexo"
    android:title="title"
    app:actionLayout="@layout/custom_menu_item"
    app:showAsAction="always"/>

 </menu>

custom_menu_item.xml

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="?attr/actionBarSize">
<TextView
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:gravity="center"
    android:text="@string/nexo_tile_short"
    android:clickable="true"
    android:focusable="true"
    android:textSize="@dimen/text_size_small"
    android:textStyle="bold"
    android:textColor="?attr/actionMenuTextColor"
    />
<ImageView
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:paddingTop="@dimen/padding_small"
    android:paddingBottom="@dimen/padding_small"
    android:src="@drawable/nexo"/>
 </LinearLayout>


文章来源: ActionBar with icon and text in portrait mode