我的光标上有这个白色背景:
此搜索视图在appbarlayout上的布局:
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/search_app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:clipToPadding="false">
<androidx.appcompat.widget.Toolbar
android:id="@+id/search_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorAccent"
android:paddingTop="8dp"
app:contentInsetStart="0dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.appcompat.widget.SearchView
android:id="@+id/organization_search_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/OrganizationSearchView"
app:queryBackground="@android:color/transparent"
app:submitBackground="@android:color/transparent"
app:iconifiedByDefault="false"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:elevation="8dp"
app:searchIcon="@drawable/ic_search"
app:voiceIcon="@drawable/ic_mic"/>
<com.google.android.material.tabs.TabLayout
android:id="@+id/events_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorAccent"
app:tabTextColor="@color/white_70"
app:tabTextAppearance="@style/TabsTextAppearance"
app:tabSelectedTextColor="@android:color/white"
app:tabIndicatorColor="@color/macaroni_and_cheese"
tools:layout_height="80dp"/>
</LinearLayout>
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.appbar.AppBarLayout>
我的搜索视图样式(@ style / OrganizationSearchView):
<style name="OrganizationSearchView" parent="Widget.AppCompat.SearchView">
<item name="android:textSize">14sp</item>
<item name="android:background">@android:color/white</item>
<item name="android:textColor">@color/black_40</item>
</style>
如何删除光标上的白色背景色?例如使其透明
答案 0 :(得分:0)
将android:background
风格的OrganizationSearchView
更改为透明。
<item name="android:background">@android:color/transparent</item>
然后按如下所示将android:background="@android:color/white"
添加到您的SearchView
<androidx.appcompat.widget.SearchView
android:background="@android:color/white"
android:id="@+id/organization_search_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/OrganizationSearchView"
app:queryBackground="@android:color/transparent"
app:submitBackground="@android:color/transparent"
app:iconifiedByDefault="false"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:elevation="8dp"
app:searchIcon="@drawable/ic_search"
app:voiceIcon="@drawable/ic_mic"/>
答案 1 :(得分:0)
您可以创建自定义的ThemedSearchView
class ThemedSearchView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
, defTheme: Int = R.style.CustomSearchView
) : SearchView(ContextThemeWrapper(context, defTheme), attrs, defStyleAttr)
您可以将自己的主题仅应用于SearchView 该主题应具有
<item name="android:background">@color/transparent</item>
您可以选择其他颜色,但是光标背景现在将变为透明。