在AppCompat库中showasaction dosent工作

时间:2015-09-28 01:26:56

标签: android android-appcompat

ActionBar仅显示图标。如何获取图标和文字?

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/item1"
        android:title="@string/add"
        app:showAsAction="always|withText"
        android:icon="@android:drawable/ic_input_add"
        >
    </item>
</menu>

我的xml菜单文件。

public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_add, menu);

    return super.onCreateOptionsMenu(menu);
}

我的代码。

1 个答案:

答案 0 :(得分:0)

总是| withText&#39;如果有足够的空间将会工作,否则它只会放置图标。您可以通过旋转在手机上进行测试。

如果您希望始终显示带有图标的文字,请按照以下步骤进行解决

在Style.xml中确保父级是&#34; Theme.AppCompat.Light.NoActionBar&#34;

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

</style>

现在包含工具栏,例如您要添加菜单操作的布局。

toolbar_with_add.xml

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:title="@string/app_name"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/darker_gray"
    android:minHeight="?attr/actionBarSize">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:drawableRight="@android:drawable/ic_menu_add"
        android:gravity="center"
        android:text="Add" />
</android.support.v7.widget.Toolbar>

确保在build.gradle文件中包含支持库,例如下面的工具栏。

 compile 'com.android.support:appcompat-v7:23.0.1'

您还可以通过更改&#34; android:drawableRight&#34;来更改可绘制的prosition。 to&#34; android:drawableLeft&#34;,&#34; android:drawableBottom&#34; &#34;机器人:drawableTop&#34;