我正在创建一个XML文件用作Google地图中标记的自定义信息窗口。
我正在努力实现圆角。我找到了不同的解决方案。或使用PS1
,或使用形状创建背景并使其圆角,然后将其用作布局的背景,依此类推。但是我发现的每个解决方案,每个背景只给您一种颜色。
我的布局一分为二。上半部分,标题和下半部分提供了更多具体信息,我想给他们提供两种不同的背景颜色。
如果我使用CardView
或形状,则不能给它们提供不同的背景颜色。如果我为特定元素设置了背景颜色,则背景颜色将保留在圆角布局上,并且矩形(没有矩形)将覆盖圆角。
我该如何管理?有什么想法吗?
答案 0 :(得分:0)
如果需求是高度动态的,则可以考虑以编程方式执行此操作。您可以使用ImageView
,CardView
或任何您喜欢的东西,并在需要时通过编程设置背景形状和颜色,如下所示。
public static GradientDrawable drawCircle(int backgroundColor, int borderColor) {
GradientDrawable shape = new GradientDrawable();
shape.setShape(GradientDrawable.OVAL);
shape.setCornerRadii(new float[]{0, 0, 0, 0, 0, 0, 0, 0});
shape.setColor(backgroundColor);
shape.setStroke(10, borderColor);
return shape;
}
现在像下面这样在您的视图中设置背景(即ImageView
)。
imageView.setBackground(drawCircle(getResources().getColor(android.R.color.holo_blue_dark), getResources().getColor(android.R.color.holo_red_dark)));