大佬教程收集整理的这篇文章主要介绍了android-actionbar – 打开ActionLayout时隐藏菜单项,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
default_menu.xml
<item android:id="@+id/searchIcon" android:icon="@drawable/search_icon" android:actionLayout="@layout/search_icon_actionview" android:showAsAction="always|collapseActionView" android@R_631_6964@="Search"/> <item android:id="@+id/newIcon" android:icon="@drawable/new_icon" android:orderInCategory="0" android:showAsAction="ifRoom|collapseActionView" android@R_631_6964@="New"/> <item android:id="@+id/notificationIcon" android:icon="@drawable/notification_icon" android:orderInCategory="0" android:showAsAction="ifRoom|collapseActionView" android@R_631_6964@="Notifications"/>
如果我使用上面的代码.只有前2个图标可见.如果我将“第二”和“第三”视为“始终”,则即使在单击“搜索”时打开了actionLayout,它们也会保留.
我想最初显示所有3个菜单项,当点击search_icon时隐藏每个项目.
我对我的实施也有疑问,不管我是以正确的方式做事.
在Activity的(有一个viewPager)第一个片段:
@Override public Boolean onOptionsItemSELEcted(MenuItem item) { switch (item.getItemId()) { case R.id.searchIcon: mEtSearchbar.clearFocus(); (new Handler()).postDelayed(new Runnable() { public void run() { mEtSearchbar.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(),SystemClock.uptimeMillis(),MotionEvent.ACTION_DOWN,0)); mEtSearchbar.dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(),MotionEvent.ACTION_UP,0)); } },100); return true; case R.id.newIcon: return true; case R.id.notificationIcon: return true; default: return super.onOptionsItemSELEcted(item); } } @Override public void onCreateOptionsMenu(Menu menu,MenuInflater inflater) { // TODO Auto-generated method stub inflater.inflate(R.menu.default_menu,menu); mSearchbar = (MenuItem) menu.findItem(R.id.searchIcon); View actionview = mSearchbar.getActionView(); mEtSearchbar = ((EditText) actionview.findViewById(R.id.search_editText)); ImageView searchImage = ((ImageView) actionview.findViewById(R.id.search_imagE)); searchImage.setOnClickListener(new View.onClickListener() { @Override public void onClick(View arg0) { String s = mEtSearchbar.getText().toString(); Toast.makeText(getSherlockActivity(),"Searching for: " + s,Toast.LENGTH_SHORT) .show(); } }); super.onCreateOptionsMenu(menu,inflater); }
@Override public Boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); MenuInflater inflater = getSupportMenuInflater(); inflater.inflate(R.menu.main,menu); MenuItem searchItem = menu.findItem(R.id.search); mSearchView = (SearchView) searchItem.getActionView(); setupSearchView(searchItem); mSearchView.setOnSearchClickListener(new View.onClickListener() { @Override public void onClick(View v) { // hide action item if (menu != null) { menu.findItem(R.id.notifications).setVisible(false); menu.findItem(R.id.sharE).setVisible(false); } } }); mSearchView.setOnCloseListener(new SearchView.onCloseListener() { @Override public Boolean onClose() { adapter.getFilter().filter(""); // re-show the action button if (menu != null) { menu.findItem(R.id.notifications).setVisible(true); menu.findItem(R.id.sharE).setVisible(true); } return false; } }); return true; } private void setupSearchView(MenuItem searchItem) { //code }
以上是大佬教程为你收集整理的android-actionbar – 打开ActionLayout时隐藏菜单项全部内容,希望文章能够帮你解决android-actionbar – 打开ActionLayout时隐藏菜单项所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。