4

メニューにTextViewを作成しようとしていますが、テキストは動的に設定されます。今のところ私のメニューにはこれがあります:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_search"
        android:actionViewClass="android.widget.SearchView"
        android:icon="@android:drawable/ic_menu_search"
        android:showAsAction="ifRoom"
        android:title="Search"/>
    <item
        android:id="@+id/action_sync"
        android:icon="@drawable/ic_menu_refresh"
        android:showAsAction="ifRoom"
        android:title="Sync"/>

</menu>

テキストのみのアイテムを作成するにはどうすればよいですか?

4

2 に答える 2

3

テキストだけを表示したい場合は、menu.xml にアイコンを追加しないでください。コード内のテキストを変更する場合は、アクティビティ コールバックの onPrepareOptionsMenu() で次のように変更できます。

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    MenuItem myItem = menu.findItem(R.id.the_item);
    myItem.setTitle("bla");
    return true;
}
于 2012-12-05T11:40:20.620 に答える
1

色、テキストサイズ、フォントなどのカスタマイズが必要な場合は、テキストビューが必要だと思います:

    String title = "MyTitle";

    TextView tvMiTitle = new TextView(getActivity());
    tvMiTitle.setText(title);
    tvMiTitle.setTextColor(Color.WHITE);
    // ==
    // MenuItem myMenuItem;
    myMenuItem.setActionView(tvMiTitle);
于 2014-01-22T11:23:57.077 に答える