#android #android-fragments #android-tv #leanback
#Android #android-фрагменты #android-tv #откат
Вопрос:
Я использую VerticalGridFragment из примера git для простого отображения информации и не хочу взаимодействия с пользователем. Я успешно отключил фокусировку пользователя в CardPresenter.cs, но я также хотел бы изменить все карты, чтобы они не были тусклыми.
Вот скриншот класса и затемнения, которые я хотел бы отключить. http://corochann.com/verticalgridfragment-android-tv-application-hands-on-tutorial-19-718.html
Я попытался изменить альфа-значение внутри класса CardPresenter, но, похоже, это ничего не дает. Любая помощь будет оценена!
CardPresenter.cs
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent) {
mDefaultBackgroundColor =
ContextCompat.getColor(parent.getContext(), R.color.default_background);
mSelectedBackgroundColor =
ContextCompat.getColor(parent.getContext(), R.color.selected_background);
mDefaultCardImage = parent.getResources().getDrawable(R.drawable.movie, null);
ImageCardView cardView = new ImageCardView(parent.getContext()) {
@Override
public void setSelected(boolean selected) {
updateCardBackgroundColor(this, selected);
super.setSelected(selected);
}
};
cardView.setAlpha(1.0f);
cardView.setFocusable(false);
cardView.setFocusableInTouchMode(false);
updateCardBackgroundColor(cardView, false);
return new ViewHolder(cardView);
}
Ответ №1:
создайте свой презентатор следующим образом:
VerticalGridPresenter gridPresenter = new VerticalGridPresenter(FocusHighlight.ZOOM_FACTOR_LARGE,false);
значение «false» предназначено для включения / выключения затемнения
Ответ №2:
Возможно, вы захотите начать использовать эти вспомогательные классы, которые в основном используются для применения уровня яркости или цвета к вашему виду.
- ColorOverlayDimmer
Вспомогательный класс для назначения тусклого цвета для рисования. Он содержит альфа-значение для текущего активного уровня.
- ColorFilterDimmer
Вспомогательный класс для применения уровня затемнения к представлению. ColorFilterDimmer использует ColorFilter в объекте рисования, чтобы затемнить изображение в соответствии с текущим активным уровнем.
Примеры кодов реализации на Java можно найти здесь. Надеюсь, это поможет!