Я пытаюсь использовать функцию палитры для дизайна материалов андроидов, но у меня возникают некоторые проблемы с ее применением.Android Apply Palette
Я успешно сгенерировал палитру, и теперь я пытаюсь передать палитру в функцию, которая ее применяет.
Проблема, с которой я сталкиваюсь, заключается в том, что когда я передаю в палитру функцию applyPalette
, ни один из методов, таких как palette.getDarkMutedColor().getRgb() , palette.getVibrantColor().getRgb()
, не заполняется значениями из палитры.
В учебнике, что я следую техника его подводит что-нибудь еще упомянуть другие переходя затем в палитре функции, и при этом методы будут заселены
Это функция генератора и функция применения, может любой из почему это не работает?
Код
private void colorize(Bitmap photo) {
Palette palette = new Palette.Builder(photo).generate();
applyPalette(palette);
}
private void applyPalette(Palette palette) {
getWindow().setBackgroundDrawable(new ColorDrawable(palette.getDarkMutedColor().getRgb()));
TextView titleView = (TextView) findViewById(R.id.title);
titleView.setTextColor(palette.getVibrantColor().getRgb());
TextView descriptionView = (TextView) findViewById(R.id.description);
descriptionView.setTextColor(palette.getLightVibrantColor().getRgb());
colorRipple(R.id.info, palette.getDarkMutedColor().getRgb(),
palette.getDarkVibrantColor().getRgb());
colorRipple(R.id.star, palette.getMutedColor().getRgb(),
palette.getVibrantColor().getRgb());
View infoView = findViewById(R.id.information_container);
infoView.setBackgroundColor(palette.getLightMutedColor().getRgb());
AnimatedPathView star = (AnimatedPathView) findViewById(R.id.star_container);
star.setFillColor(palette.getVibrantColor().getRgb());
star.setStrokeColor(palette.getLightVibrantColor().getRgb());
}
попробуйте удалить функцию getRgb(). –
Нет, что не помогло по-прежнему иметь ту же ошибку – Hayes121
Просьба пояснить, что вы имеете в виду, когда говорите, что цветовые функции «не работают». – stkent