Я разработал телевизионное приложение, использующее библиотеку с откидыванием, и я хочу добавить белую рамку к выбранному элементу вместе с эффектом уменьшения масштаба, происходит масштабирование, но нет способа добавить рамку.Я много искал, но не смог найти никакой возможной работы вокруг.
public class CardPresenter extends Presenter {
private int mSelectedBackgroundColor = -1;
private int mDefaultBackgroundColor = -1;
private Drawable mDefaultCardImage;
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent) {
mDefaultBackgroundColor =
ContextCompat.getColor(parent.getContext(), R.color.default_background);
mSelectedBackgroundColor =
ContextCompat.getColor(parent.getContext(), R.color.selected_background);
ImageCardView cardView = new ImageCardView(parent.getContext()) {
@Override
public void setSelected(boolean selected) {
updateCardBackgroundColor(this, selected);
super.setSelected(selected);
}
};
cardView.setFocusable(true);
cardView.setFocusableInTouchMode(true);
updateCardBackgroundColor(cardView, false);
return new ViewHolder(cardView);
}
private void updateCardBackgroundColor(ImageCardView view, boolean selected) {
int color = selected ? mSelectedBackgroundColor : mDefaultBackgroundColor;
view.setBackgroundColor(color);
view.findViewById(R.id.info_field).setBackgroundColor(color);
}
@Override
public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object item) {
VideoItem video = (VideoItem) item;
ImageCardView cardView = (ImageCardView) viewHolder.view;
cardView.setTitleText(video.getVideoName());
if (video.getVideoImageThumbnail() != null) {
// Set card size from dimension resources.
Resources res = cardView.getResources();
int width = res.getDimensionPixelSize(R.dimen.card_width);
int height = res.getDimensionPixelSize(R.dimen.card_height);
cardView.setMainImageDimensions(width, height);
Glide.with(cardView.getContext())
.load(video.getVideoImageThumbnail())
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(cardView.getMainImageView());
}
}
}
//Load rows method
private void loadRows() {
// to make item look large
ListRowPresenter presenter= new
ListRowPresenter(FocusHighlight.ZOOM_FACTOR_LARGE,true);
presenter.setShadowEnabled(false);
mRowsAdapter = new ArrayObjectAdapter(presenter);
}