
我的活动有这个菜单布局:
<menu xmlns:androID="http://schemas.androID.com/apk/res/androID"> <item androID:ID="@+ID/action_search" androID:title="@string/action_search" androID:icon="@drawable/ic_action_search" androID:showAsAction="always" androID:actionVIEwClass="com.actionbarsherlock.Widget.SearchVIEw"/> <item androID:ID="@+ID/action_configure" androID:title="@string/action_configure" androID:icon="@androID:drawable/ic_menu_preferences" androID:showAsAction="always" /></menu>
在Search活动类中,我按如下方式配置Actionbar:
@OverrIDepublic boolean onCreateOptionsMenu(Menu menu) { getSupportMenuInflater().inflate(R.menu.search,menu); SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); SearchVIEw searchVIEw = (SearchVIEw)menu.findItem(R.ID.action_search).getActionVIEw(); searchVIEw.setSearchableInfo(searchManager.getSearchableInfo(getComponentname())); searchVIEw.setIconifIEdByDefault(false); searchVIEw.setsubmitbuttonEnabled(false);return true;} 问题是,如果我做searchVIEw.setIconifIEdByDefault(false);我看到这张照片:
您可以注意到没有第二个菜单项.在这里,如果我设置androID:showAsAction =“always | collapseActionVIEw”,它默认会折叠,但我现在可以看到第二项:
在上图中我已按下搜索图标
有两个问题我无法弄清楚:
>如何始终显示两个元素:扩展搜索视图和配置 *** 作图标?
>我如何摆脱这个丑陋的第二个搜索图标?
在您管理主题的styles.xml中,将以下内容添加到application_theme部分(通常在base_theme下面)
<!--Application theme--><style name="application_theme" parent="application_base_theme"> <item name="searchVIEwSearchIcon">@androID:color/transparent</item> <item name="searchVIEwCloseIcon">@androID:color/transparent</item></style>
这会强制 *** 作栏搜索小部件中所有出现的搜索图标都是透明的,并且是不可见的.
它们仍会在文本字段中占用空间,在左侧创建一个看不见的边距.如果要解决此问题,则必须使用自己的类扩展com.actionbarsherlock.Widget.SearchVIEw并添加以下内容:
ImageVIEw searchHintIcon = (ImageVIEw) findVIEwByID(R.ID.abs__search_mag_icon);searchHintIcon.setVisibility(VIEw.GONE);
我会将它添加到构造函数,但也覆盖setIconifIEd和setIconifIEdByDefault并将其包含在那里.这会强制它在展开 *** 作视图时隐藏图标.
要在 *** 作栏中显示其他图标,请尝试设置:
androID:showAsAction="collapseActionVIEw|ifRoom"
这应该会导致搜索栏在 *** 作栏中有足够的空间时展开,而不是将它们完全从栏中强制移除.
HTH
总结以上是内存溢出为你收集整理的android – 显示ActionBarSherlock SearchView总是扩展全部内容,希望文章能够帮你解决android – 显示ActionBarSherlock SearchView总是扩展所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)