android searchview 简单使用

设置样式 drawable    bg_search/xml
android:background="@drawable/bg_search"
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <!--这里是Linearlayout布局的背景颜色-->
    <solid android:color="@color/white" />
    <!--这里是设置边框线的粗细和颜色-->
    <stroke
        android:width="2dp"
        android:color="@color/el_warning" />

    <padding
        android:bottom="1dp"
        android:left="1dp"
        android:right="1dp"
        android:top="1dp" />
    <!--角的话,里边有参数可以单独设置-->
    <corners android:radius="20dp" />

</shape>
下面的处理不显示 icon 和 下划线  这里使用的时android
设置左侧的icon 这里设置为不显示左侧icon  api22 以下无效果
android:searchIcon="@null"    

下面这两项处理不显示下划线   api21 以下无效果
android:queryBackground="@null"
android:submitBackground="@null"

 androidx 使用以下方式

app:searchIcon="@null"
app:queryBackground="@null"
app:submitBackground="@null"

 简单使用

search_view.requestFocus()
        search_view.setOnQueryTextListener(object : SearchView.OnQueryTextListener {
            override fun onQueryTextChange(newText: String?): Boolean {
                Log.d(tag,"textChange=$newText")
                return false
            }

            override fun onQueryTextSubmit(query: String?): Boolean {
                Log.d(tag,"textSubmit=$query")
                if(query.isNullOrBlank()){
                    Toast.makeText(this@CourseSearch,"请输入搜索条件",Toast.LENGTH_SHORT).show()
                    return false
                }

                if(query.length < 2 || query.length > 20){
                    Toast.makeText(this@CourseSearch,"搜索条件2-20位字符",Toast.LENGTH_SHORT).show()
                    return false
                }
                //查询处理代码
                return false
            }
        })
原文地址:https://www.cnblogs.com/rchao/p/11550147.html