Как иметь несколько тем в моем приложении для Android? - PullRequest
0 голосов
/ 08 октября 2019

Это домашний экран моего приложения. Я использовал Drawable и Color ресурсы в дизайне. Теперь я хочу иметь несколько наборов цветов (для деталей с голубым цветом), чтобы пользователь мог изменить их во время выполнения. Я много искал, но они не подходят для моего случая.

Обратите внимание, что я хочу изменить только детали голубого цвета. Я знаю, что могу изменить все стили TextView, используя атрибут style, но мне просто нужно, чтобы определенные виды получали определенные рисунки или цвета в качестве фона.

Я нашел решение здесь , но яЯ не могу использовать его, потому что ему нужно мин. SDK выше 21, а мой - 16.

Главный экран

Ответы [ 2 ]

0 голосов
/ 08 октября 2019

Определите свой стиль в values/styles.xml следующим образом:

<style name="AppTheme.MyTheme" parent="AppTheme.NoActionBar">
    <item name="colorPrimary">@color/primaryColorCyan</item>
    <item name="colorPrimaryDark">@color/primaryDarkColorCyan</item>
    <item name="colorAccent">@color/secondaryColorCyan</item>
</style>

И затем вызовите setTheme(R.style.MyTheme) перед setContentView() в onCreate() методе. setTheme введено в API LEVEL 1.

0 голосов
/ 08 октября 2019

Вы можете легко установить тему так:

public void onCreate(Bundle savedInstanceState) {
    setTheme(R.style.your_theme);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity)
}
...