ImageView上的可绘制+背景颜色

时间:2017-08-05 19:25:14

标签: android android-layout

我有这样的布局

<LinearLayout>
    <ImageView/>
    <ImageView/>
    <ImageView/>
</LinearLayout>

我使用

在运行时使用不同颜色填充所有这些ImageViews
view.setBackgroundColor()

当我在父LinearLayout上设置带圆角的drawable时,它不会显示出来。可能是因为我正在为ImageViews设置背景颜色。我怎样才能做到这一点? O / P应该是一个圆角矩形,包含三个ImageViews

1 个答案:

答案 0 :(得分:0)

您只需要在LinearLayout添加填充。确保填充等于drawable的笔触宽度,以使圆角矩形的边框可见

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@drawable/rounded_rect"
    android:padding="3dp">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#076"/>

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#406"/>

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="#e70"/>

</LinearLayout>

以下是rounded_rect.xml的代码

<shape android:shape="rectangle"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <corners android:radius="9dp" />

    <stroke
        android:color="#F00"
        android:width="3dp" />

    <solid android:color="#4F00" />

</shape>