Android 元素在前棒棒糖和更低的 api 版本的文本后面有白色背景
Android elements have white background behind the text on pre-lollipop and lower api versions
我用TabLayout
代替ViewPager
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabBackground="@drawable/tab_color_selector" />
但这是结果
elements with white background at kitkat
tab_color_selector
有 2 个项目带有 state_selected="true"
和默认值。我也尝试使用像 theese 这样的标签,但没有成功:
android:background="@android:color/holo_blue_dark"
app:tabBackground="@android:color/holo_blue_dark"
app:tabIndicatorColor="@android:color/holo_blue_dark"
项目包含所有必要的依赖项
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:recyclerview-v7:25.3.1'
compile 'com.android.support:support-v4:25.3.1'
也试过
vectorDrawables.useSupportLibrary = true
完美适用于棒棒糖和更新的 api。
elements displays great at api 22
如您所见,工具栏菜单中也有 png 图像,它也没有透明背景。我像那样添加 imade
toolbar.getMenu().getItem(0).setIcon(R.drawable.ic_menu);
xml:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorMain"
android:adjustViewBounds="true"
app:popupTheme="@style/AppTheme.PopupOverlay">
我真的需要帮助。如果您对背景不透明有任何想法,请告诉我。谢谢
更新:
我发现我的基础应用程序主题有背景标签(我最近不小心添加了它们,完全忘记了)。删除它们解决了问题。
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
<item name="android:background">@android:color/white</item>
<item name="android:windowBackground">@android:color/white</item>
<item name="android:colorBackground">@android:color/white</item>
</style>
然而,奇怪的是他们只在棒棒糖之前工作api。
我想 Mahesh 的回答也可以。所以我学到了一个教训:检查你的样式,如果有什么东西没有正确显示:)
在drawable文件夹中制作tab_background.xml并设置
app:tabBackground="@drawable/tab_background" 到您的 tablayour,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/tab_background_selected"
android:state_selected="true"/>
<item android:drawable="@color/tab_background_unselected"/>
<android.support.design.widget.TabLayout
....
app:tabBackground="@drawable/tab_background"
...
/>
像
一样使用自定义样式
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabBackground="@drawable/tab_color_selector"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
style="@style/MyCustomTabLayout"
/>
并在您的样式文件中
<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
<item name="tabTextAppearance">@style/MyCustomTabText</item>
<item name="tabSelectedTextColor">@color/ColorPrimary</item>
</style>
我用TabLayout
代替ViewPager
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabBackground="@drawable/tab_color_selector" />
但这是结果
elements with white background at kitkat
tab_color_selector
有 2 个项目带有 state_selected="true"
和默认值。我也尝试使用像 theese 这样的标签,但没有成功:
android:background="@android:color/holo_blue_dark"
app:tabBackground="@android:color/holo_blue_dark"
app:tabIndicatorColor="@android:color/holo_blue_dark"
项目包含所有必要的依赖项
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:recyclerview-v7:25.3.1'
compile 'com.android.support:support-v4:25.3.1'
也试过
vectorDrawables.useSupportLibrary = true
完美适用于棒棒糖和更新的 api。 elements displays great at api 22
如您所见,工具栏菜单中也有 png 图像,它也没有透明背景。我像那样添加 imade
toolbar.getMenu().getItem(0).setIcon(R.drawable.ic_menu);
xml:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorMain"
android:adjustViewBounds="true"
app:popupTheme="@style/AppTheme.PopupOverlay">
我真的需要帮助。如果您对背景不透明有任何想法,请告诉我。谢谢
更新:
我发现我的基础应用程序主题有背景标签(我最近不小心添加了它们,完全忘记了)。删除它们解决了问题。
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
<item name="android:background">@android:color/white</item>
<item name="android:windowBackground">@android:color/white</item>
<item name="android:colorBackground">@android:color/white</item>
</style>
然而,奇怪的是他们只在棒棒糖之前工作api。
我想 Mahesh 的回答也可以。所以我学到了一个教训:检查你的样式,如果有什么东西没有正确显示:)
在drawable文件夹中制作tab_background.xml并设置
app:tabBackground="@drawable/tab_background" 到您的 tablayour,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/tab_background_selected"
android:state_selected="true"/>
<item android:drawable="@color/tab_background_unselected"/>
<android.support.design.widget.TabLayout
....
app:tabBackground="@drawable/tab_background"
...
/>
像
一样使用自定义样式 <android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabBackground="@drawable/tab_color_selector"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
style="@style/MyCustomTabLayout"
/>
并在您的样式文件中
<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
<item name="tabTextAppearance">@style/MyCustomTabText</item>
<item name="tabSelectedTextColor">@color/ColorPrimary</item>
</style>