如何更改AppCompatButton菜单项文本

时间:2017-04-27 00:16:51

标签: java android android-view menuitem android-menu

我在菜单中使用以下布局

<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/button"
        android:title="off"
        app:showAsAction="ifRoom"
        app:actionViewClass="android.support.v7.widget.AppCompatButton"
        tools:text="OFF"
        android:textColor="@android:color/white"/>
</menu>

似乎不是将文本设置为按钮的明显方法。我添加的以下两行并未导致任何可见文本添加到按钮中。

tools:text="OFF"
android:textColor="@android:color/white"

修改

要清楚,这是一个菜单项,但是动作视图类是AppCompatButton,我想为它设置文本。

1 个答案:

答案 0 :(得分:1)

您可以从MenuItem获取操作视图,并在那里执行必要的更改:

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    MenuItem menuItem = menu.findItem(R.id.button);
    AppCompatButton button = (AppCompatButton) menuItem.getActionView();
    button.setText("My Button");
    return super.onPrepareOptionsMenu(menu);
}

enter image description here