我希望增加所选RowPresenter
的尺寸,并在BrowseFragment
周围添加一个白色边框。我试着按下边框,但它的边缘适合我的卡,因为我使用圆角为我的卡。
private final class ItemViewSelectedListener implements OnItemViewSelectedListener {
@Override
public void onItemSelected(Presenter.ViewHolder itemViewHolder, Object item,
RowPresenter.ViewHolder rowViewHolder, Row row) {
ImageCardView cardView = (ImageCardView) itemViewHolder.view;
GradientDrawable border = new GradientDrawable();
border.setStroke(10, ContextCompat.getColor(getActivity(), R.color.white));
cardView.getMainImageView().setImageDrawable(border);
}
}
下面是代码我如何使我的卡片圆角:
<dimen name="lb_rounded_rect_corner_radius">10dp</dimen>
答案 0 :(得分:2)
- 如何比默认缩放尺寸更多地增加所选卡的尺寸?
醇>
您可以在初始化ListRowPresenter
时传入更大的FocusHighlight缩放系数来执行此操作。对于较大的焦点卡,您可以使用FocusHighlight#ZOOM_FACTOR_LARGE
初始化演示者。 ListRowPresenter
有this constructor。
- 如何在选定的卡片周围放置白色边框,以便顺畅地覆盖所有边缘?
醇>
您可以提供自己的BaseCardView
(或ImageCardView
)子类,您可以在其中提供自己的布局。当您拥有自己的布局时,您将没有任何限制因素。如果您在leanback-showcase示例应用中查看this folder,则会有许多自定义卡示例。
这包含一个非常简单的例子
public class YourCardView extends BaseCardView {
public YourCardView(Context context) {
super(context, null, R.style.TextCardStyle);
LayoutInflater.from(getContext()).inflate(R.layout.your_card_xml, this);
setFocusable(true);
}
}
您提供自己的xml文件而不是R.layout.your_card_xml
。在那里你可以添加边框和你想要的任何其他东西。