android– 使用扩展的SearchView删除actionbar的图标标题?

android– 使用扩展的SearchView删除actionbar的图标标题?,第1张

概述我创建了一个新项目,目标是api11及以上版本.我有一个活动,我希望默认情况下扩展SearchView:@OverridepublicvoidonCreateOptionsMenu(Menumenu,MenuInflaterinflater){super.onCreateOptionsMenu(menu,inflater);inflater.inflate(R.menu.menu_search,menu);

我创建了一个新项目,目标是API 11及以上版本.我有一个活动,我希望默认情况下扩展SearchVIEw:

@OverrIDepublic voID onCreateOptionsMenu(Menu menu, MenuInflater inflater) {    super.onCreateOptionsMenu(menu, inflater);    inflater.inflate(R.menu.menu_search, menu);    MenuItem searchItem = menu.findItem(R.ID.action_search);     mSearchVIEw = (SearchVIEw) searchItem.getActionVIEw();    mSearchVIEw.setIconifIEdByDefault(false);}

哪个有效,但我不希望动作栏上有任何图标或标题,只是搜索视图.我尝试通过以下方式摆脱我的标题和图标:

getActionbar().setdisplayHomeAsUpEnabled(false);getActionbar().setdisplayShowTitleEnabled(false);getActionbar().setIcon(androID.R.color.transparent);

但我的 *** 作栏仍然在搜索视图的左侧有这个填充:

有办法摆脱它吗?

谢谢

——–编辑——————–

这是我的全部活动:

public class GreatandroID extends FragmentActivity {    private SearchVIEw mSearchVIEw;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        getActionbar().setdisplayShowHomeEnabled(false);    }    @OverrIDe    public boolean onCreateOptionsMenu(Menu menu) {        super.onCreateOptionsMenu(menu);        getMenuInflater().inflate(R.menu.menu_search, menu);        MenuItem mi = menu.findItem(R.ID.action_search);        mSearchVIEw = (SearchVIEw) mi.getActionVIEw();        mSearchVIEw.setIconifIEdByDefault(false);        return true;    }}

这是菜单xml:

<menu xmlns:androID="http://schemas.androID.com/apk/res/androID">   <item androID:ID="@+ID/action_search"      androID:title="@string/search"      androID:icon="@androID:drawable/ic_menu_search"      androID:showAsAction="always"      androID:actionVIEwClass="androID.Widget.SearchVIEw" /></menu>

解决方法:

即使图标是透明的,它仍占用空间:

getActionbar().setIcon(androID.R.color.transparent);

删除此行并添加:

getActionbar().setdisplayShowHomeEnabled(false);

现在,您应该让SearchVIEw占用所有可用空间.

可折叠的 *** 作项具有最大宽度.我能想到的唯一解决方法如下:

public class GreatandroID extends FragmentActivity {    private SearchVIEw mSearchVIEw;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        getActionbar().setdisplayShowHomeEnabled(false);        getActionbar().setdisplayShowTitleEnabled(false);    }    @OverrIDe    public boolean onCreateOptionsMenu(Menu menu) {        super.onCreateOptionsMenu(menu);        getMenuInflater().inflate(R.menu.menu_search, menu);        MenuItem mi = menu.findItem(R.ID.action_search);        mSearchVIEw = (SearchVIEw) mi.getActionVIEw();        mSearchVIEw.setIconifIEdByDefault(false);        // You can use display.getSize(Point) from API 13 onwards.        // For API 11 and 12, use display.getWIDth()        final Point p = new Point();        getwindowManager().getDefaultdisplay().getSize(p);        // Create LayoutParams with wIDth set to screen's wIDth        LayoutParams params = new LayoutParams(p.x, LayoutParams.MATCH_PARENT);        mSearchVIEw.setLayoutParams(params);        return true;    }}

虽然看起来左边还有空格,但你可以使用mSearchVIEw.setBackgroundcolor(color.RED);看到确实没有.

总结

以上是内存溢出为你收集整理的android – 使用扩展的SearchView删除actionbar的图标/标题?全部内容,希望文章能够帮你解决android – 使用扩展的SearchView删除actionbar的图标/标题?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1096793.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存