怎样自定义SearchView的中提交按钮的样式

怎样自定义SearchView的中提交按钮的样式,第1张

楼主你好!根据你的描述,让我来给你回答!

MenuItem search=menu.findItem(R.id.search)//自定义样式

search.collapseActionView()

SearchView searchview=(SearchView) search.getActionView()

希望能帮到你,如果满意,请记得采纳哦~~~

1、SearchView是搜索框组件,它可以让用户在文本框里输入文字,通过监听器取得用户的输入,当用户点击搜索时,监听器执行实际的搜索。

2、SearchView组件的常用方法如下:

①setIconifiedByDefault(boolean iconified) ===>设置搜索框默认是否自动缩小为图标。

②setOnQueryTextListener(SearchView,OnQueryTextListener listener) ===>为搜索框设置监听器

③setSubmitButtonEnabled(boolean enabled) ===>设置是否显示搜索按钮

④setQueryHint(CharSequence hint) ===>设置搜索框内的默认显示的提示文本

3、为SearchView增加一个配套的ListView,则可以为其增加自动完成的功能,即ListView用于为SearchView显示自动补齐列表

4、具体实现代码如下:

package org.crazyit.ui

import android.os.Bundle

import android.text.TextUtils

import android.widget.ArrayAdapter

import android.widget.ListView

import android.widget.SearchView

import android.widget.Toast

import android.app.Activity

public class SearchViewTest extends Activity implements

SearchView.OnQueryTextListener {

private SearchView sv

private ListView lv

// 自动完成的列表

private final String[] mStrings = { "aaaaa", "bbbbbb", "cccccc", "ddddddd" }

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState)

setContentView(R.layout.main)

lv = (ListView) findViewById(R.id.lv)

lv.setAdapter(new ArrayAdapter<string>(this,android.R.layout.simple_list_item_1, mStrings))

lv.setTextFilterEnabled(true)//设置lv可以被过虑

sv = (SearchView) findViewById(R.id.sv)

// 设置该SearchView默认是否自动缩小为图标

sv.setIconifiedByDefault(false)

// 为该SearchView组件设置事件监听器

sv.setOnQueryTextListener(this)

// 设置该SearchView显示搜索按钮

sv.setSubmitButtonEnabled(true)

// 设置该SearchView内默认显示的提示文本

sv.setQueryHint("查找")

}

// 用户输入字符时激发该方法

@Override

public boolean onQueryTextChange(String newText) {

Toast.makeText(SearchViewTest.this, "textChange--->" + newText, 1).show()

if (TextUtils.isEmpty(newText)) {

// 清除ListView的过滤

lv.clearTextFilter()

} else {

// 使用用户输入的内容对ListView的列表项进行过滤

lv.setFilterText(newText)

}

return true

}

// 单击搜索按钮时激发该方法

@Override

public boolean onQueryTextSubmit(String query) {

// 实际应用中应该在该方法内执行实际查询

// 此处仅使用Toast显示用户输入的查询内容

Toast.makeText(this, "您的选择是:" + query, Toast.LENGTH_SHORT).show()

return false

}

}

</string>


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

原文地址:https://54852.com/bake/11520609.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存