如何移除Arlib FloatingSearchView点击后的背景着色?
解决Arlib FloatingSearchView点击后背景变灰的问题
使用Arlib的FloatingSearchView时,点击搜索栏后背景会变为灰色,想要保持原有背景状态,可尝试以下几种方法:
直接设置焦点状态背景色
FloatingSearchView默认的焦点灰背景可以通过代码或XML直接覆盖:
代码方式:floatingSearchView.setFocusedBackgroundColor(getResources().getColor(R.color.your_original_bg_color));XML布局方式:
<com.arlib.floatingsearchview.FloatingSearchView android:id="@+id/floating_search_view" android:layout_width="match_parent" android:layout_height="wrap_content" app:focusedBackgroundColor="@color/your_original_bg_color" />自定义背景状态选择器
创建一个自定义的drawable文件(如search_view_background.xml),让焦点状态和正常状态使用同一种背景色:<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/your_original_bg_color" android:state_focused="false"/> <item android:drawable="@color/your_original_bg_color" android:state_focused="true"/> <item android:drawable="@color/your_original_bg_color"/> </selector>然后在布局中引用该drawable:
<com.arlib.floatingsearchview.FloatingSearchView ... app:searchBackground="@drawable/search_view_background" />覆盖主题相关属性
如果主题中的colorControlHighlight属性影响了焦点背景,可给FloatingSearchView单独设置主题:
先在styles.xml中定义自定义主题:<style name="SearchViewCustomTheme" parent="Theme.AppCompat.Light"> <item name="colorControlHighlight">@color/your_original_bg_color</item> </style>再在布局中应用:
<com.arlib.floatingsearchview.FloatingSearchView ... android:theme="@style/SearchViewCustomTheme" />
内容的提问来源于stack exchange,提问作者3milBow
相关产品推荐
相关产品推荐

