SearchView
- 如果想去除SearchView搜索编辑框下的横线,则可以使用android:queryBackground=”@null”来进行去除。
- android:searchHintIcon=”@null”,则是将搜索编辑框中的放大镜图标去除掉。
- ActionMode中,如果不设置ActionMode的布局中根布局background,会出现底部的蓝色线条,设置background即可去掉。
- SearchView设置提示字符颜色和字体大小。试了很多次之后发现在SearchView中加入style是不可行的,只能在代码中添加,java代码如下(其中mSearchInput可以为任意View或ViewGroup,目的是得到名为android:id/search_src_text的id值):
int id = mSearchInput.getContext().getResources().getIdentifier("android:id/search_src_text", null, null);
TextView textView = (TextView) searchView.findViewById(id);
textView.setTextColor(Color.RED);//字体颜色
textView.setTextSize(20);//字体、提示字体大小
textView.setHintTextColor(Color.BLUE);//提示字体颜色**
//光标颜色使用反射:
//光标颜色
try {
Field mCursorDrawableRes=TextView.class.getDeclaredField("mCursorDrawableRes");
mCursorDrawableRes.setAccessible(true);
mCursorDrawableRes.set(textView, R.drawable.cursor_color);
} catch (Exception e){
e.printStackTrace();
}
Button设置背景透明的方法
要想将控件(Button)背景设置为透明,之前的一贯做法是android:background="@null"
,但最近翻阅stack overflow,发现其实还有以下几种方法:
- android:background="?android:selectableItemBackground"
,该方法为避免控件设置为@null
后点击时的效果丢失,貌似该方法支持API11以上。
- style="?android:attr/borderlessButtonStyle"
。
以上两种方法都没有试过,今后遇到可以试验以下。