And*_*nko 8 android android-actionbar
我的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>
Run Code Online (Sandbox Code Playgroud)
这是设置代码:
@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() {...});
}
Run Code Online (Sandbox Code Playgroud)
一切都很好,除了一件事:在我的华硕平板电脑(TF-201,Android 3.2.1)上,图形模糊:

如果我删除android:actionViewClass="android.widget.SearchView",一切看起来都正常:

4.1.2模拟器上不再复制此问题.我试着只留下菜单通胀代码,onCreateOptionsMenu()但这没有帮助.
我该如何解决?
所以我击败了这个解决方案,但是,如果不使用 ActionBarSherlock 库,它仅声明对 API 14 及更高版本的正确兼容性。
重要的是要连接到应用程序的主题上下文,否则您将获得 SearchView 的最低设计(模糊的图标)
以编程方式创建 SearchView
分段
SearchView searchView =
new SearchView(getActivity().getActionBar().getThemedContext());
Run Code Online (Sandbox Code Playgroud)
活动
SearchView searchView = new SearchView(getActionBar().getThemedContext());
Run Code Online (Sandbox Code Playgroud)
操作栏夏洛克片段
SearchView searchView =
new SearchView(getSherlockActivity().getSupportActionBar().getThemedContext());
Run Code Online (Sandbox Code Playgroud)
行动栏夏洛克活动
SearchView searchView = new SearchView(getSupportActionBar().getThemedContext());
Run Code Online (Sandbox Code Playgroud)
在某些情况下,设置SearchView.setBackgroundColor(int color)会使图标看起来不那么模糊,请尝试Color.WHITE或Color.BLACK
请注意,这会更改 MenuItem 的背景颜色,无论是否折叠,例如。通过使用主题 Holo.Light.DarkActionBar,您需要根据您的 ActionBar 样式使用正确的颜色。
| 归档时间: |
|
| 查看次数: |
1723 次 |
| 最近记录: |