Android Studio,布局,圆角,不同的背景色

时间:2019-04-30 16:04:05

标签: android layout

我正在创建一个XML文件用作Google地图中标记的自定义信息窗口。

我正在努力实现圆角。我找到了不同的解决方案。或使用PS1,或使用形状创建背景并使其圆角,然后将其用作布局的背景,依此类推。但是我发现的每个解决方案,每个背景只给您一种颜色。

我的布局一分为二。上半部分,标题和下半部分提供了更多具体信息,我想给他们提供两种不同的背景颜色。

如果我使用CardView或形状,则不能给它们提供不同的背景颜色。如果我为特定元素设置了背景颜色,则背景颜色将保留在圆角布局上,并且矩形(没有矩形)将覆盖圆角。

我该如何管理?有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果需求是高度动态的,则可以考虑以编程方式执行此操作。您可以使用ImageViewCardView或任何您喜欢的东西,并在需要时通过编程设置背景形状和颜色,如下所示。

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)));