Обходной путь для не смог установить стиль динамически - PullRequest
2 голосов
/ 06 октября 2011

Мне нужно иметь возможность сделать что-то вроде этого:

if(condition){
textview.setStyle(R.styles.a1);
}else{
textview.setStyle(R.styles.a2);
}

Дело в том, что вы не можете изменить стиль во время выполнения, есть такие методы, как setTextApperience и аналогичные, но не для установки стиля. Мой вопрос заключается в том, как установить различные фоновые изображения для текстового представления какого-либо другого представления в соответствии с темой, например, в themeA цвет текстового просмотра с id = tv1 - синий, а для themeB - цвет текстового просмотра с id = tv1 - красный. ..

Я знаю, что это обсуждается на форуме, но я не смог найти то, что мне нужно

Edit1: Я знаю, что могу установить тему во время выполнения somebackground ...

Но моя проблема в том, как установить другой фон для другой темы для какого-то конкретного элемента, скажем, элемента с id = textview1

1 Ответ

0 голосов
/ 06 октября 2011

Вы не можете установить стиль, потому что их такой метод не был определен. но вы можете создать другую тему в файле XML и изменить ее во время выполнения

например,

setTheme(android.R.style.Theme_Dark);

так что сделайте тему в стиле и используйте так

Edit:

Вы можете установить фон и цвет текста следующим образом

if(condition){
    textview.setBackground(Color.Grey);
    textview.setTextColor(Color.Black);
}else{
    textview.setBackground(Color.Blue);
    textview.setTextColor(Color.White);
}

или проверьте ответ на этот пост Как изменить стиль TextView во время выполнения

...