作者:mobiledu2502872023 | 来源:互联网 | 2023-07-24 15:50
您好,我需要在searchView中放置一些文本,并重点/扩大searchView小部件。
这是我的尝试,但它不工作
%
ignore_pre_1%
尝试使用searchView.setIconified(false)
。 这对我工作:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ActionBar actiOnBar= getActionBar(); SearchView searchView = new SearchView(this); actionBar.setCustomView(searchView); actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); searchView.setQuery("test",true); searchView.setFocusable(true); searchView.setIconified(false); searchView.requestFocusFromTouch(); }
这是另一个解决scheme。
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main_menu, menu); MenuItem menu_search = menu.findItem(R.id.menu_search); menu_search.setOnActionExpandListener(new OnActionExpandListener() { @Override public boolean onMenuItemActionCollapse(MenuItem item) { // Do something when collapsed return true; // Return true to collapse action view } @Override public boolean onMenuItemActionExpand(MenuItem item) { //get focus item.getActionView().requestFocus(); //get input method InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); return true; // Return true to expand action view } }); return true; }
这适用于我:
@Override public boolean onMenuItemActionExpand(MenuItem item) { if (sm.isMenuShowing()) { sm.toggle(); } searchView.setIconified(true); KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, 32); searchView.onKeyDown(32, event); return true; }
对我来说,以下工作:
@Override public boolean onCreateOptionsMenu(Menu menu) { ... MenuItem miSearch = menu.findItem(R.id.menu_search); SearchView mSearchView = (SearchView) miSearch.getActionView(); mSearchView.setOnSearchClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mSearchView.setFocusable(true); mSearchView.requestFocusFromTouch(); } });
我使用android.support.v7.widget.SearchView。 当试图设置mSearchView.setIconified(false);
它进入了一个无限循环。
searchView.setQuery("typeAnything",true); searchView.setFocusable(true);
会做的伎俩。
以上就是android开发分享Android如何集中ActionBar searchView相关内容,想了解更多android开发(异常处理)及android游戏开发关注(编程笔记)。