<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。我想保持半径和背景可绘制。
答案 0 :(得分:1)
您可以为CardView
之类的布局设置后台资源,而不是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);
我希望这会对你有所帮助。
答案 1 :(得分:0)
使用card_view:cardBackgroundColor="#FFFFFFFF"
代替android:background="#FFFFFFFF"
以编程方式使用,card.setCardBackgroundColor(color)
代替card.setBackgroundColor(color)