我使用git示例中的VerticalGridFragment来显示信息,不希望用户交互。我成功地关闭了用户专注于CardPresenter.cs,但我也想更换所有卡片,以便它们不会变暗。
这是我要关闭的课程和调光的截图。 http://corochann.com/verticalgridfragment-android-tv-application-hands-on-tutorial-19-718.html
我已经尝试更改CardPresenter类中的alpha,但这似乎没有做任何事情。任何帮助将不胜感激!
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);
}
答案 0 :(得分:1)
您可能希望开始使用这些辅助类,这些辅助类主要用于为视图应用昏暗级别或颜色。
Helper类,用于为Paint指定暗色。它保存当前活动级别的alpha值。
用于将昏暗级别应用于视图的助手类。 ColorFilterDimmer使用Paint对象中的ColorFilter根据当前活动级别调暗视图。
可以找到Java中的示例实现代码here。希望它有所帮助!
答案 1 :(得分:1)
像这样创建你的演示者:
VerticalGridPresenter gridPresenter = new VerticalGridPresenter(FocusHighlight.ZOOM_FACTOR_LARGE,false);
“false”用于启用/禁用调光