
所以,我在Action Bar使用的是SearchView:
<item androID:ID="@+ID/action_search" androID:icon="@drawable/navi_search" androID:title="@string/action_search" androID:showAsAction="ifRoom|collapseActionVIEw" androID:actionVIEwClass="androID.Widget.SearchVIEw" />
它默认看起来像这样(右上角,溢出菜单旁边):
问题是,当扩展时,我希望SearchVIEw保持在右侧,而是移动到左边缘,在主页按钮(应用程序图标)旁边.
我尝试将showAsAction更改为其中任何一个(as suggested here):
androID:showAsAction="ifRoom"androID:showAsAction="always"
…这会在展开时修复对齐,但在折叠状态下自定义图标会丢失:
此外,菜单上的androID:layout_alignParentRight =“true”和androID:layout_centerInParent =“true”等内容< item>没有效果.
有任何想法吗?
我的目标是AndroID 4.0及以上版本:
<uses-sdk androID:minSdkVersion="14" androID:targetSdkVersion="19" />解决方法 好吧,我找到了一个方法:
在onCreateOptionsMenu()中,在标准菜单膨胀之后,设置
用于SearchVIEw实例的Renvity.RIGHT为ActionBar.LayoutParams:
@OverrIDepublic boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main_activity_actions,menu); // ... // Find the SearchVIEw; make it aligned to right,also in expanded mode: MenuItem item = menu.findItem(R.ID.action_search); SearchVIEw search = (SearchVIEw) item.getActionVIEw(); search.setLayoutParams(new Actionbar.LayoutParams(Gravity.RIGHT));} (在菜单定义XML中,我仍然使用androID:showAsAction =“ifRoom | collapseActionVIEw”.)
现在,SearchVIEw将在右侧,图标所在的同一位置打开,并且自定义图标仍在使用中.
总结以上是内存溢出为你收集整理的android – 如何在ActionBar的右侧保留扩展的SearchView(使用自定义图标时)?全部内容,希望文章能够帮你解决android – 如何在ActionBar的右侧保留扩展的SearchView(使用自定义图标时)?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)