ActionBarのメニューレイアウトは次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/itemSearch"
android:icon="@drawable/actionbar_icon_search"
android:showAsAction="ifRoom|collapseActionView"
android:actionViewClass="android.widget.SearchView"
android:title="Search"/>
</menu>
そして、これがセットアップコードです:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.actionbar_default, menu);
SearchView searchView=(SearchView) menu.findItem(R.id.itemSearch).getActionView();
int searchPlateId = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null);
View searchEditText = searchView.findViewById(searchPlateId);
((TextView) searchEditText).setTextColor(Color.WHITE);
searchView.setOnCloseListener(new OnCloseListener() {...});
searchView.setOnQueryTextListener(new OnQueryTextListener() {...});
}
1つを除いて、すべて問題ありません。Asusタブレット(TF-201、Android 3.2.1)では、グラフィックがぼやけています。
削除するandroid:actionViewClass="android.widget.SearchView"
と、すべてが正常に見えます。
この問題は、4.1.2エミュレータでは再現されません。メニューのインフレコードだけを残してみましたonCreateOptionsMenu()
が、うまくいきませんでした。
これを修正するにはどうすればよいですか?