Каждый уровень API имеет свою собственную тему по умолчанию, и, поскольку вы используете тему по умолчанию для своего приложения, android настраивает тему в зависимости от уровня API, который будет отличаться на каждом устройстве. Просто помните, что только элемент, к которому вы добавляете атрибут style, получает указанные атрибуты style. Дочерние объекты или дочернее представление не получают атрибут стиля. Если вы хотите, чтобы дочерние представления наследовали стили, вместо этого примените стиль с атрибутом android:theme
.
Проблема связана с тем, где и как вы применяете свою собственную тему.
Вы должны применить свою тему в файле AndroidManifest.xml
. Если вы примените свою тему в application tag
или activity tag
, вы охватите различные части приложения своей темой. Трудно сказать, что вы сделали, без какого-либо кода.
Вы должны применить свою тему к одному из следующих разделов файла.
Для покрытия всего приложения
<manifest ... >
<application android:theme="@style/Theme.AppCompat" ... >
</application>
</manifest>
Чтобы охватить только одно занятие
<manifest ... >
<application ... >
<activity android:theme="@style/Theme.AppCompat.Light" ... >
</activity>
</application>
</manifest>
Если представление поддерживает только некоторые атрибуты, которые вы объявили в стиле, который вы создали, то оно применяет только те атрибуты и игнорирует те, которые оно не поддерживает.
Если вы хотите изменить стиль и цвета по умолчанию, вы можете переопределить их в файле styles.xml
. Найдите имя элемента, представляющего значение цвета, и измените соответствующее значение в файле res/values/colors.xml
.
Я надеюсь, что эта информация решит вашу проблему, но, как я уже сказал, это действительно трудно, так что точно сказать без кода.