三星设备上的TabWidget背景颜色

时间:2014-05-21 17:45:07

标签: android android-tabhost android-ui android-tabs

我的TabWidget在HTC和Nexus设备上的背景颜色为浅灰色......但在三星设备上它是蓝色/深灰色。这是为什么?我甚至使用tabwidget的自定义主题,由android-holo-colors.com创建

1 个答案:

答案 0 :(得分:0)

以下是标签的样式和布局:

<style name="AppBaseTheme" parent="android:Theme.Light">
</style>

<style name="TabMyTheme">
  <item name="android:gravity">center_horizontal</item>
  <item name="android:paddingLeft">16dip</item>
  <item name="android:paddingRight">16dip</item>
  <item name="android:background">@drawable/mytheme_tab_indicator_holo</item>
  <item name="android:layout_width">0dip</item>
  <item name="android:layout_weight">1</item>
  <item name="android:minWidth">80dip</item>
</style>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="@dimen/tab_host_default_height"
    android:orientation="horizontal"
    style="@style/TabMyTheme"
    android:gravity="center">

    <ImageView
        android:id="@android:id/icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|center_horizontal"
        android:visibility="gone"
        android:adjustViewBounds="true"
        android:scaleType="fitCenter"
        android:contentDescription="@null" />

    <TextView
        android:id="@android:id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        style="@style/TabTextMyTheme" />
</LinearLayout>

我认为问题在于三星的标签的默认外观是不同的,并且假设由android-color-colors生成的背景图像在顶部是透明的,并且颜色仅用于底部(即:每个标签底部的细线或粗线),在顶部它们只使用系统默认颜色。

我改变了网站生成的每一张图片,用灰色替换透明色,现在到处都很好看。