我试图在ICS中的SearchView小部件上更改闪烁光标的颜色.我尝试过以下方法:

>添加< item name =“android:textCursorDrawable”> @ null< / item>对我的

主题

>将AutoCompleteTextViews的样式添加到我的主题,并将该样式的textCursorAttribute设置为@null

>直接在SearchView上设置android:textCursorDrawable =“@ null”

我在这里阅读了答案(Custom cursor color in SearchView),但是对于searchAutoCompleteTextView没有非ABS样式,所以无法尝试这个.我也找了一个Java方法来设置文本光标drawable,但找不到 – 我正在修改Java中SearchView的其他方面,如果有可用的方法,可以用光标这样做.

我已经非常广泛地定制了SearchView,但最后一个改变是让它看起来不正确 – 光标在白色背景上是白色的,所以它不容易看到.我可以尝试其他任何想法吗?

解决方法:

基于上面的评论和答案,我举了一个例子,说明了如何使用反射.这解决了我的应用程序中的问题.希望它能节省一些时间.

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.entity_list_actions, menu);

final SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();

final int textViewID = searchView.getContext().getResources().getIdentifier("android:id/search_src_text",null, null);

final AutoCompleteTextView searchTextView = (AutoCompleteTextView) searchView.findViewById(textViewID);

try {

Field mCursorDrawableRes = TextView.class.getDeclaredField("mCursorDrawableRes");

mCursorDrawableRes.setAccessible(true);

mCursorDrawableRes.set(searchTextView, 0); //This sets the cursor resource ID to 0 or @null which will make it visible on white background

} catch (Exception e) {}

return super.onCreateOptionsMenu(menu);

}

该0可以是任何其他资源ID,如R.drawable.my_cursor

标签:android,searchview

来源: https://codeday.me/bug/20190925/1816167.html

android searchview光标,android – 在没有ActionBarSherlock的情况下更改SearchView中的光标颜色...相关推荐

  1. android 熄屏后仍然可以点击,Android - 在不触发睡眠/锁定屏幕的情况下关闭显示屏 - 使用触摸屏打开...

    我一直在试图找到一种方法来关闭显示屏,并从用户触摸触摸屏时唤醒. 设备处于嵌入式环境中,其中设备是平板电脑,用户除了触摸屏外无法访问任何内容(根本没有按钮).Android - 在不触发睡眠/锁定屏幕 ...

  2. RK3328 Android 7.1 录音左右声道分离的情况下,有时候会出现,右声道的声音和左声道一样的问题

    RK3328 Android 7.1 录音左右声道分离的情况下,有时候会出现,右声道的声音和左声道一样的问题 问题现象: 产品有语音识别功能,需要回音消除,所以立体声录音需要左右声道分离,左声道为主M ...

  3. android 显示canvas,【报Bug】部分情况下,安卓canvas不显示

    详细问题描述 (DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题) [内容] uni2.2.2版 ...

  4. android微信keydown事件的keyCode为0情况下JS输入约束实现

    因为微信不支持keypress事件,keydown/keyup的keycode又为0,没有办法通过这些事件事约束输入,所以,通过input事件变通实现. 原理很简单,每次输入时,记录下光标位置和上一次 ...

  5. Android GreenDAO 3.0 不修改版本号的情况下增加、删除表、添加字段

    最近项目中使用了GreenDAO的3.0以上的版本,出现需要增加删除表的需求,刚开始用,发现官方对增加和删除的方法是每次去修改数据库版本号,版本一旦升级,那么原来数据库中的表会全部删除再重建.太麻烦, ...

  6. Android自定义布局的背景在多分辨率的情况下设置fill_parent时背景不能够横向全屏的问题解决...

    问题描述:最近做了一个自定义的控件LinearLayout就是公用的底部菜单条,在指定分辨率下(例如:480x800,480x854)下背景是正常的,但是当程序运行到非指定(默认)的分辨率下就不正常了 ...

  7. Android Trick 3: GridView动态加载数据情况下,选中状态的实现

    GridView使用AdapterView动态加载数据情况下,无论是在onCreate.Onstart.OnResume方法中调用getChildCount()均为0,这说明数据并没有在Activit ...

  8. Android面试每日一题(4): 哪些情况下会导致oom问题?

    1.根据java的内存模型会出现内存溢出的内存有堆内存.方法区内存.虚拟机栈内存.native方法区内存: 2.一般说的OOM基本都是针对堆内存: 3.对于堆内存溢出主的根本原因有两种 (1)app进 ...

  9. 耗电排行Android,揪出Android手机电老虎!耗电应用排行

    同样两台Android手机,在同样正常使用的情况下,为什么一台能待机超过2天,另一台每天就必须充电一次?十一国庆长假来临,众多朋友外出旅游,如果玩兴正浓却发现手机没电不能联系朋友了,岂非非常扫兴?An ...

最新文章

  1. VC++、MFC最好的开源项目
  2. 学习嵌入式系统需要具备的条件、方法及步骤
  3. 动态代理案例1:运用Proxy动态代理来增强方法
  4. linux下php远程连接mysql_Linux下PHP远程连接Oracle数据库 | 系统运维
  5. 第16讲 用户程序的结构与执行
  6. Flexible 弹性盒子模型之flex
  7. python-main
  8. 诗与远方:无题(四十一)
  9. C语言 JSON 解析库 - MJSON使用介绍
  10. python中reload作用_import reload __import__在python中的区别
  11. C# 调用Dll中非托管C++代码时,函数参数的类型对照
  12. python爬虫反爬策略_用Python语言做爬虫有哪些策略可以对抗反爬虫?
  13. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_10 打印流_1_打印流_概述和使用...
  14. 生产排程系统_【经典文章】漫谈生产计划排程与控制系统
  15. 【中医学】9 方剂-3
  16. matlab的fft与ifft,fft与ifft区别
  17. 不愿意和别人打交道_一个人不愿意和同事打交道,大多是这3个原因,你了解吗...
  18. 范式BCNF,3NF的判断方法
  19. docker容器的创建
  20. 古罗马数字的基本知识

热门文章

  1. tensorflow的Dataset对象报错ValueError: GraphDef cannot be larger than 2GB
  2. 凸优化基本概念与kkt条件
  3. 完整电商项目--(五)用户基本信息(2):收货地址
  4. Safari中的印象笔记剪切插件默认要我登陆evernote账号但我只有印象笔记的账号啊!没关系一步教你解决!
  5. python魔法方法__new__(),__init__()
  6. 【ML】贝叶斯网络(Bayesian Network)
  7. WWN,WWNN,WWPN三者的区别
  8. MobileNetv1、MobileNetv2、MobileNetv3网络讲解
  9. linux检测木马病毒做什么,Linux下木马病毒清理小记
  10. 2022-2028全球与中国厨余垃圾处理器市场现状及未来发展趋势