Установите градиент строки заголовка в приложении для Android

Я хочу установить градиент в строке заголовка приложения (из #F55B53 в #FFFF00), с этим следующим кодом:

GradientDrawable gd = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, new int[] {0xF55B53,0xFFFF00});
View title = getWindow().findViewById(android.R.id.title);
View titleBar = (View) title.getParent();
titleBar.setBackgroundDrawable(gd);

Но затмение скажи мне:

Метод setBackgroundDrawable(Drawable) из представления типа устарел

Что я должен делать?

2 ответа

Большую часть времени вы получаете предупреждение об устаревании, оно сопровождается правильным способом сделать это. Если вы перейдете к документации по классу View, вы заметите, что setBackgroundDrawable(Drawable background) Метод говорит:

Этот метод устарел на уровне API 16. используйте взамен setBackground(Drawable)

В зависимости от версии Android, на которую вы ориентируетесь, вы можете продолжить использовать устаревшую версию.

titleBar.setBackgroundDrawable(Г.Д.);

изменить код

int sdk = android.os.Build.VERSION.SDK_INT;
if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
    setBackgroundDrawable()
} else {
    setBackground();
}
Другие вопросы по тегам