Android:将自定义按钮添加到 Actionbar 中的 SearchView 小部件

标签 android android-actionbar android-custom-view android-button searchview

我想向 SearchView 小部件添加自定义按钮。

通过 search_view 布局文件的源代码,我发现它有一个包含提交按钮和语音按钮的 LinearLayout (submit_area) .

所以我在 submit_area 添加了一个动态按钮。但它不显示我动态添加的按钮,因为如果未启用提交按钮或语音按钮,则 submit_area 是不可见的。所以我是否动态添加任何东西都没有关系。

SearchView searchView = (SearchView) menuItem.getActionView(); 

int
submit_areaId = searchView.getContext().getResources()
    .getIdentifier("android:id/submit_area", null, null);

Button btnScan = new Button(getActivity());
btnScan.setText(getString(R.string.scan)); submitArea.addView(btnScan);  

但是,如果我只是将提交按钮设置为启用,那么它会显示提交按钮以及我的动态按钮,如所附照片所示。

我只想显示我的动态按钮。知道如何实现吗?

enter image description here

最佳答案

searchView.setSubmitButtonEnabled(false);    
LinearLayout linearLayoutOfSearchView = (LinearLayout) searchView.getChildAt(0);
Button yourButton = new Button(mContext); // and do whatever to your button
linearLayoutOfSearchView.addView(yourButton);

关于Android:将自定义按钮添加到 Actionbar 中的 SearchView 小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22526251/

相关文章:

android - 拖放操作栏选项卡(Android 4.0 ICS)?

android用颜色设置 ListView 的特定行背景

Android SDK 管理器无法下载平台工具

android - 使用实时数据时如何在 Android 中链接转换?

android - 在 Android Studio 中使用适用于 Android 的 Amazon Web Service SDK

java - 如何以编程方式在 View 上设置自定义属性

android - 如何更改起点drawrect customview android

java - 嵌套类的公共(public)构造函数

android - 操作栏/工具栏在以下 Lollipop 版本中不显示

Android 操作栏 : show/hide tabs dynamically?