android 低版本 searchview,Android搜索框SearchView属性和用法详解

本文介绍了Android原生搜索框控件SearchView,它提供搜索查询界面,默认展示搜索图标,可通过方法让搜索框默认展开。还给出了SearchView在xml中的定义及Main代码示例,设置了搜索文本监听,当搜索内容改变时可过滤列表内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SearchView简介

SearchView是Android原生的搜索框控件,它提供了一个用户界面,用于用户搜索查询。

SearchView默认是展示一个search的icon,点击icon展开搜索框,如果你想让搜索框默认就展开,可以通过setIconifiedByDefault(false);实现。

SearchView属性

3f5ccf66f45ff4cb03741c377c801388.png

SearchView使用

xml中定义SearchView:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_margin="15dp"

android:orientation="vertical"

tools:context="com.airsaid.searchviewdemo.MainActivity">

android:id="@+id/searchView"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:iconifiedByDefault="false"

android:queryHint="请输入搜索内容" />

android:id="@+id/listView"

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight="1" />

Main代码:

public class MainActivity extends AppCompatActivity {

private String[] mStrs = {"aaa", "bbb", "ccc", "airsaid"};

private SearchView mSearchView;

private ListView mListView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mSearchView = (SearchView) findViewById(R.id.searchView);

mListView = (ListView) findViewById(R.id.listView);

mListView.setAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, mStrs));

mListView.setTextFilterEnabled(true);

// 设置搜索文本监听

mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

// 当点击搜索按钮时触发该方法

@Override

public boolean onQueryTextSubmit(String query) {

return false;

}

// 当搜索内容改变时触发该方法

@Override

public boolean onQueryTextChange(String newText) {

if (!TextUtils.isEmpty(newText)){

mListView.setFilterText(newText);

}else{

mListView.clearTextFilter();

}

return false;

}

});

}

}

效果截图:

403d211fda13e5f7766298110123ebed.gif

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值