2016-06-28 2 views
0

У меня есть приложение для Android, где я поставил цвета текста и фона следующим образом в теме в styles.xml:App ТЕМЫ игнорируется на SAMSUMG Galaxy Tab 4

<style name="MyAppTheme" parent="Theme.AppCompat.Light"> 
    <item name="colorPrimary">#28abe3</item> 
    <item name="colorPrimaryDark">#0f92ca</item> 
    <item name="colorAccent">#0f92ca</item> 
    <item name="android:textColor">#8a000000</item> 
    <item name="android:textColorPrimary">#de000000</item> 
    <item name="android:colorBackground">#fffafafa</item> 
    <item name="android:textColorSecondary">#8a000000</item> 
    <item name="android:textColorTertiary">#8a000000</item> 
</style> 

Это отлично работает на любом устройстве Я могу найти, чтобы проверить его. Тем не менее, у меня есть некоторые пользователи, запускающие приложение на вкладке Samsung Galaxy Tab 4, которые сообщают, что некоторые текстовые представления отображают текст в очень светлом оттенке серого, почти неотличимый от фона, вместо очень темного серого, указанного через тема. Это не влияет на каждый TextView в приложении, но пример один показан ниже:

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Text Here" 
    android:id="@+id/problematicTextView" 
    android:layout_weight="1" 
    android:minHeight="25dp" 
    style="@android:style/TextAppearance.DeviceDefault.Medium" /> 

Я пробовал все, что я могу думать о краткосрочной покупки Galaxy Tab 4 для отладки этого методом проб и ошибок, но безрезультатно. Единственная отличительная черта между TextView, которые появляются с правильным темно-серым цветом, в отличие от тех, которые появляются в очень светло-сером цвете линия:

style="@android:style/TextAppearance.DeviceDefault.Medium" 

Те, которые работают правильно есть:

style="@android:style/TextAppearance.DeviceDefault.Small" 

, но, как я понимаю, это только влияет на размер текста, а не цвет.

Что мне не хватает, чтобы правильно изменить текст текста TextView таким образом, который работает на всех устройствах (с уровнем API 16+)?

+1

Почему вы используете стиль 'DeviceDefault' в первую очередь? Они всегда будут меняться от производителя к производителю. – ianhanniballake

ответ

1

Если вы хотите использовать согласованную тему на всех устройствах, вам следует избегать использования любых стилей DeviceDefault, поскольку они настроены на индивидуальные устройства.

Я бы предложил использовать один из стилей TextAppearance AppCompat, например Theme.AppCompat.Medium.

+0

Спасибо, что указали это. Кажется, имеет смысл, что это будет причиной проблемы, теперь это было указано мне, но я жду, пока у меня не будет возможности проверить это на практике, прежде чем принимать ответ. – George

Смежные вопросы