关于SearchView设置字体颜色,提示字体及背景的解决方法

2024-02-07 15:18

本文主要是介绍关于SearchView设置字体颜色,提示字体及背景的解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近由于项目的需要搜索功能,我们为了方便,则用android自带的搜索组件------SearchView,使用起来方便快捷,但是SearchView默认的提示字和需要输入的字符往往与界面不是很匹配,导致用户体现效果不是很好,由于本人是菜鸟,遇见问题的第一反应就是查找资料和找度娘,在查找的过程中发现许多初学的猿们也在为这个问题忧愁,所以我就把我所了解的一小小的解决方法分享出来,是大家一起学习。言归正传,下面我们一起来学习一下吧

       (1)我们必须了解SearchView的输入框是TextView,我们想修改输入框字体的颜色,背景等丰富的界面,我们必须得到TextView,其实质就是修改TextView,需求明白了,问题来就简单了。那我们怎样获得TextView控件,相信大家对在java程序中获得xml中的控件很熟悉吧(通过控件的id获取控件),我们也用同样的方法,下面就是通过id 或的TextView的方法:

                            int id = sv_search.getContext().getResources()

                                              .getIdentifier("android:id/search_src_text", null, null);
                        TextView textView = (TextView) sv_search.findViewById(id);

简简单单的两行代码就可以得到TextView,看见之后是不是感觉很简单啊。之后就可以修改我们想要的效果了。

     (2)通过上面的方法几乎可以解决大多数的问题,但是要修改提示字符的大小和颜色就不能按上面的要求了。在解决问题前我们必须知道在android控件中输入的文本值不是String类型,而是SpannableString ,所以 我们想修改提示字符的颜色,直接修改SpannableString 类型的颜色和大小就可以了,方法如下:

                                        

                                       SpannableString spanText = new SpannableString("请输入需要查询内容");


                         // 设置字体大小
                        spanText.setSpan(new AbsoluteSizeSpan(20, true), 0, spanText.length(),
                               Spannable.SPAN_INCLUSIVE_EXCLUSIVE);


                        // 设置字体颜色
                        spanText.setSpan(new ForegroundColorSpan(Color.WHITE), 0,
                          spanText.length(),


       Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
                        sv_search.setQueryHint(spanText);

通过上面的方法就可以解决相应的问题了,下面是我写的对SearchView设置的方法:

/*
* 设置SearchView的相关属性
*/
public void setSearch(SearchView sv_search) {
// 设置SearchView默认是否自动缩小为图标
sv_search.setIconifiedByDefault(true);
// 显示搜索按钮
sv_search.setSubmitButtonEnabled(true);


SpannableString spanText = new SpannableString("请输入需要查询内容");


// 设置字体大小
spanText.setSpan(new AbsoluteSizeSpan(20, true), 0, spanText.length(),
Spannable.SPAN_INCLUSIVE_EXCLUSIVE);


// 设置字体颜色
spanText.setSpan(new ForegroundColorSpan(Color.WHITE), 0,
spanText.length(),


Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
sv_search.setQueryHint(spanText);
int id = sv_search.getContext().getResources()
.getIdentifier("android:id/search_src_text", null, null);
TextView textView = (TextView) sv_search.findViewById(id);
textView.setTextSize(20);// 设置输入字体大小
textView.setTextColor(Color.GREEN);// 设置输入字的显示
textView.setHeight(50);// 设置输入框的高度
textView.setGravity(Gravity.BOTTOM);// 设置输入字的位置


}






这篇关于关于SearchView设置字体颜色,提示字体及背景的解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/688115

相关文章

基于Python实现读取嵌套压缩包下文件的方法

《基于Python实现读取嵌套压缩包下文件的方法》工作中遇到的问题,需要用Python实现嵌套压缩包下文件读取,本文给大家介绍了详细的解决方法,并有相关的代码示例供大家参考,需要的朋友可以参考下... 目录思路完整代码代码优化思路打开外层zip压缩包并遍历文件:使用with zipfile.ZipFil

Python处理函数调用超时的四种方法

《Python处理函数调用超时的四种方法》在实际开发过程中,我们可能会遇到一些场景,需要对函数的执行时间进行限制,例如,当一个函数执行时间过长时,可能会导致程序卡顿、资源占用过高,因此,在某些情况下,... 目录前言func-timeout1. 安装 func-timeout2. 基本用法自定义进程subp

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

C++中初始化二维数组的几种常见方法

《C++中初始化二维数组的几种常见方法》本文详细介绍了在C++中初始化二维数组的不同方式,包括静态初始化、循环、全部为零、部分初始化、std::array和std::vector,以及std::vec... 目录1. 静态初始化2. 使用循环初始化3. 全部初始化为零4. 部分初始化5. 使用 std::a

如何将Python彻底卸载的三种方法

《如何将Python彻底卸载的三种方法》通常我们在一些软件的使用上有碰壁,第一反应就是卸载重装,所以有小伙伴就问我Python怎么卸载才能彻底卸载干净,今天这篇文章,小编就来教大家如何彻底卸载Pyth... 目录软件卸载①方法:②方法:③方法:清理相关文件夹软件卸载①方法:首先,在安装python时,下

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、