安卓:如何在设置背景可绘制时保持圆角半径?

4
<android.support.v7.widget.CardView 
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:card_view="http://schemas.android.com/apk/res-auto"
  android:id="@+id/card_view"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_margin="@dimen/activity_vertical_margin"
  card_view:cardCornerRadius="12dp"
  card_view:cardElevation="12dp">

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    .....

</android.support.v7.widget.CardView>

这是我在layout.xml中设置的内容。

我想要在运行时以编程方式更改卡片的背景。

CardView card =(CardView) findViewById(R.id.card_view);
card.setBackgroundResource(R.drawable.card1);

这将把所有圆角设置为0dp。我希望保留圆角和背景可绘制对象。

2个回答

3

使用card_view:cardBackgroundColor="#FFFFFFFF"替代android:background="#FFFFFFFF"
编程时使用card.setCardBackgroundColor(color)替代card.setBackgroundColor(color)


1

你可以为包含 CardView 的布局设置背景资源,而不是使用它本身。具体方法如下:

<android.support.v7.widget.CardView 
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:card_view="http://schemas.android.com/apk/res-auto"
  android:id="@+id/card_view"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_margin="@dimen/activity_vertical_margin"
  card_view:cardCornerRadius="12dp"
  card_view:cardElevation="12dp">

    <LinearLayout
        android:id="@+id/myLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            .....
    </LinearLayout>

</android.support.v7.widget.CardView>

并且

LinearLayout myLayout=(LinearLayout) findViewById(R.id.myLayout);
myLayout.setBackgroundResource(R.drawable.card1);

我希望这能对你有所帮助。

它适用于Android 5+,但不适用于较早版本。Drawable在矩形中,离CardView留下白色边距。 - user3290180

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接