Я изо всех сил пытаюсь получить стилизованные атрибуты с помощью pre-lollipop API.getTheme(). ResolveAttribute() альтернатива на pre-lollipop
С леденец, я использую
final TypedValue statusBarColor = new TypedValue();
getTheme().resolveAttribute(android.R.attr.colorPrimaryDark, statusBarColor, true);
STATUS_BAR_COLOR = ContextCompat.getColor(this, statusBarColor.resourceId);
Это работает безупречно, я не нашел подобный способ сделать это ниже версии API 21. (minAPI = 16)
Я попытался с помощью getTheme().obtainStyledAttributes()
, Но у меня нет AttributeSet
, чтобы предоставить этот метод, поскольку я использую его внутри действия. Я делаю что-то совершенно неправильно или решает стилизованные атрибуты, не поддерживаемые версиями API ниже 21?
Это хороший один, Я даже не заметил этого, но это не отвечает на мой вопрос. Метод resolveAttribute недоступен в API 16 до 21 – tim687
Вы используете AppCompatActivity, тогда доступно «resolAttribute» :) – Darish
Хмм, я не знаю, почему Android Studio жалуется на это, но это уже не сейчас. Благодаря! – tim687