Цвет фона TabWidget на устройствах Samsung

Цвет фона моего TabWidget светло-серый на устройствах HTC и Nexus ... однако он синеватый / темно-серый на устройствах Samsung. Почему это? Я даже использую собственную тему для виджета вкладок, созданную android-holo-colors.com.


person devguy    schedule 21.05.2014    source источник
comment
К вашему сведению, я испытал то же самое на устройствах 4.0.4 (используя Tab Host). Я не нашел решения, но могу подтвердить, что проблема не только в вас. Я использую стили для этих элементов View.   -  person Booger    schedule 22.05.2014
comment
см. мой ответ ниже, я нашел решение, которое отлично работает для меня   -  person devguy    schedule 22.05.2014


Ответы (1)


Вот стиль и макет для вкладки:

<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>

Я считаю, что проблема заключается в том, что внешний вид вкладок по умолчанию отличается для Samsung, и учитывая, что фоновые изображения, сгенерированные android-color-colors, прозрачны сверху и имеют цвет только для нижней части (т.е.: тонкая или толстая цветная линия внизу каждой вкладки), вверху они просто используют цвет системы по умолчанию.

Я изменил каждое изображение, созданное веб-сайтом, заменив прозрачный цвет моим серым цветом, и теперь он везде выглядит нормально.

person devguy    schedule 21.05.2014