如何更改 AppCompatButton 菜单项文本
How to change AppCompatButton menu item text
我的菜单使用以下布局
<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"
编辑:
明确地说,这是一个菜单项,但操作视图 class 是 AppCompatButton
,我想为其设置文本。
您可以从 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);
}
我的菜单使用以下布局
<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"
编辑:
明确地说,这是一个菜单项,但操作视图 class 是 AppCompatButton
,我想为其设置文本。
您可以从 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);
}