搜索视图(点按/点击后)是否有任何方式扩展到Android启动器图标,例如应用程序标题名称?
或许,是否有办法将我的标题更改为启动图标(如sreenshot),并使用一些自定义字体..?
截图:
答案 0 :(得分:1)
在我的onCreateOptionsMenu()
内部使用此代码:
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setMaxWidth(5000);
searchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ActionBar actionBar = getActionBar();
if (actionBar != null)
actionBar.setDisplayShowHomeEnabled(false);
}
});
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
ActionBar actionBar = getActionBar();
if (actionBar != null)
actionBar.setDisplayShowHomeEnabled(true);
return false;
}
});
注意:
对我来说,默认情况下,Home Icon并未隐藏为@MattT。建议,所以我在打开搜索时手动隐藏它,并在搜索关闭时再次显示它。另请注意,getActionBar()
需要API 14 +。
如果您有兴趣,在使用searchView之前,我会自动调整我的自定义布局:
getMenuInflater().inflate(R.menu.actionbar_items, menu);
布局( menu / actionbar_items.xml )是这样的:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
android:actionViewClass="android.widget.SearchView"
android:showAsAction="always"/>
<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:showAsAction="never" />
</menu>
答案 1 :(得分:0)
以下是我过去用来创建该类搜索视图的示例。 http://www.edumobile.org/android/android-development/action-bar-search-view/
除非您专门设置了android:logo属性,否则操作栏应默认使用您的启动器图标。您也可以使用操作栏上的setLogo()方法以编程方式修改此内容。