本文介绍了机器人 - 如何添加搜索视图以自定义动作条的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用的是自定义的动作条我的应用程序。这是code:
I'm using a custom actionbar for my application .This is the code:
private void actionbar() {
ActionBar actionBar = getSupportActionBar();
LayoutInflater layoutInflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View mCustomView = layoutInflater.inflate(R.layout.actionbar, null);
ImageView nDrawer=(ImageView)mCustomView.findViewById(R.id.imageView4);
nDrawer.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
DrawerActivity.open();
}
});
///search
actionBar.setCustomView(mCustomView);
actionBar.setDisplayShowCustomEnabled(true);
getSupportActionBar().setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayUseLogoEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setHomeButtonEnabled(true);
actionBar.setIcon(null);
}
这是XML文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/menubg"
android:paddingLeft="3dp"
android:paddingRight="3dp" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:src="@drawable/ic_action_search" />
</RelativeLayout>
我想用像Android的默认搜索视图搜索查看(我的意思是一样的菜单上的搜索图标,当点击它,它变成一个EditText上)
I want to use a searchview like android's default search view ( I mean like the search icon on the menu that when click on it, it turns into a edittext )
我如何添加一个搜索查看到我的自定义动作条?
How can I add a searchview to my custom actionbar ?
推荐答案
使用这个小部件自定义布局
Use this widget in custom layout
<android.support.v7.widget.SearchView
android:suggestionRowLayout="@layout/suggestion_row_layout"
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:iconifiedByDefault="false"
android:inputType="textFilter"/>
和值:
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
mSearchModeOn = true;
mSearchMenu.setVisible(false);
final View searchViewContainer = LayoutInflater.from(actionBar.getThemedContext())
.inflate(R.layout.custom_action_bar, null);
actionBar.setHomeAsUpIndicator(R.drawable.ic_arrow_back_black_24dp);
actionBar.setBackgroundDrawable(new ColorDrawable(Color.WHITE));
mSearchView = (SearchView) searchViewContainer.findViewById(R.id.search_view);
mSearchView.setIconifiedByDefault(true);
mSearchView.setQueryHint(getString(R.string.btSearch));
mSearchView.setIconified(false);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
mSearchView.setOnQueryTextListener(this);
mSearchView.setOnCloseListener(this);
mSearchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
actionBar.setCustomView(searchViewContainer,
new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT,
ActionBar.LayoutParams.WRAP_CONTENT));
actionBar.setDisplayShowCustomEnabled(true);
这篇关于机器人 - 如何添加搜索视图以自定义动作条的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!