<androidx.appcompat.widget.SearchView
app:queryBackground="@null"
...
/>
将其设为 @null 可以在您的 XML 中删除彩色条。
SearchView
的引用时,这个方法就可以使用了:val backgroundView = searchView.findViewById(android.support.v7.appcompat.R.id.search_plate) as View
backgroundView.background = null
SearchView
的XML中使用了android命名空间,那么去除底部线条的最佳方法是:android:queryBackground="@null"
。<SearchView
android:theme="@style/AppSearchView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="8dp"
android:background="@drawable/round_corner_rect"
android:queryBackground="@null"
android:queryHint="Search here..."
android:iconifiedByDefault="false" />
style.xml
<style name="AppSearchView" parent="Widget.AppCompat.SearchView">
<item name="android:editTextColor">@color/text_color</item>
<item name="android:textColor">@color/text_color</item>
<item name="android:textColorHint">@color/text_color</item>
<item name="android:textSize">12sp</item>
<item name="android:fontFamily">@font/app_font</item>
</style>
只需在xml中编写:
<androidx.appcompat.widget.SearchView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:queryBackground="@null"
... />
对我有用
app:queryBackground="@color/your_color"
和 android:background="@color/your_color"
。background="@null"
。