我试图在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,但最后一个改变是让它看起来不正确 – 光标在白色背景上是白色的,所以它不容易看到.我可以尝试其他任何想法吗?
解决方法:
基于上面的评论和答案,我举了一个例子,说明了如何使用反射.这解决了我的应用程序中的问题.希望它能节省一些时间.
@OverrIDepublic 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 – 在没有ActionBarSherlock的情况下更改SearchView中的光标颜色全部内容,希望文章能够帮你解决android – 在没有ActionBarSherlock的情况下更改SearchView中的光标颜色所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)