The CardView memiliki atribut card_view:cardBackgroundColor
untuk menentukan warna latar belakang. Atribut ini berfungsi dengan baik.
Pada saat yang sama tidak ada metode untuk mengubah warna secara dinamis.
Saya baru saja mencoba solusi seperti:
mCardView.setBackgroundColor(...);
atau menggunakan Layout di dalam cardView
<android.support.v7.widget.CardView>
<LinearLayout
android:id="@+id/inside_layout">
</android.support.v7.widget.CardView>
View insideLayout = mCardView.findViewById(R.id.inside_layout);
cardLayout.setBackgroundColor(XXXX);
Solusi ini tidak berfungsi karena kartu memiliki cardCornerRadius.
android
android-5.0-lollipop
android-cardview
Gabriele Mariotti
sumber
sumber
card_view:cardBackgroundColor="@android:color/white"
card_view
namespace tidak berfungsi untuk saya, saya harus menggunakannyaapp
sebagai gantinya.xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
Gunakan properti card_view: cardBackgroundColor:
sumber
Anda dapat menggunakan ini dalam XML
atau ini di Jawa
sumber
Saya menggunakan kode ini untuk mengatur secara program:
Atau dalam XML, Anda dapat menggunakan kode ini:
sumber
Cara itu diatur dalam
initialize
metode menggunakanRoundRectDrawable
kelas yang dilindungi , seperti:Itu tidak cantik, tetapi Anda bisa memperpanjang kelas itu. Sesuatu seperti:
kemudian:
EDIT
Ini tidak akan memberi Anda bayangan di <API 21, jadi Anda harus melakukan hal yang sama dengannya
RoundRectDrawableWithShadow
.Tampaknya tidak ada cara yang lebih baik untuk melakukan ini.
sumber
Sedikit terlambat di sini & sebagian dari topik karena ini tidak terprogram tetapi saya merasa lebih baik untuk menyiapkan gaya untuk Widget dan Anda dapat melakukan ini
CardView
hanya untuk membuat gaya itu akan menjaga xml cleaner Anda ...ini menggunakan
android.support.v7.widget.CardView
dan kemudian mengatur gaya dalam file tata letak:
Anda perlu mengimpor perpustakaan appcompat-v7 menggunakan Android studio via gradle:
semoga ini membantu. selamat coding
sumber
Saya mengalami masalah serupa dengan memformat CardViews di recylerView.
Saya membuat solusi sederhana ini berfungsi, tidak yakin apakah itu solusi terbaik, tetapi itu berhasil untuk saya.
Itu mendapat latar belakang Drawable dari cardView dan mewarnai itu.
sumber
Anda bisa menggunakan di bawah ini
sumber
Di JAWA
Android menggunakan warna ARGB. Anda dapat menggunakan seperti ini (0xFF + RGB COLOR) - Warna hard-coded.
sumber
Saya menemukan masalah yang sama ketika mencoba membuat cardview secara terprogram, yang aneh adalah bahwa melihat dokumen https://developer.android.com/reference/android/support/v7/widget/CardView.html#setCardBackgroundColor%28int % 29 , orang-orang Google mempublikasikan api untuk mengubah warna latar belakang tampilan kartu tetapi anehnya saya tidak berhasil mengaksesnya di perpustakaan dukungan, jadi inilah yang bekerja untuk saya:
CardViewBuilder.java
filter_container_background.xml
Melakukan itu saya berhasil menjaga bayangan cardview dan sudut membulat.
sumber
Saya mendapatkan masalah yang sama pada Xamarin.Android - VS (2017)
The Solusi yang bekerja untuk saya:
LARUTAN
Dalam file XML Anda, tambahkan:
dan di
android.support.v7.widget.CardView
elemen Anda tambahkan hak milik ini:(yaitu)
Anda juga dapat menambahkan
cardElevation
dancardElevation
.Jika Anda ingin mengedit secara
cardview
terprogram Anda hanya perlu menggunakan kode ini: Untuk (C #)Dan sekarang Anda dapat mengubah warna latar belakang secara terprogram tanpa kehilangan batas, radius sudut, dan ketinggian.
sumber
Anda dapat menggunakan ini di java.
cardView.setCardBackgroundColor (Color.parseColor ("# cac8a0"));
bentuk warna kode http://www.color-hex.com/
sumber
Ini sangat sederhana di kotlin. Gunakan ColorStateList untuk mengubah warna tampilan kartu
Perpanjangan kotlin dari ColorStateList:
sumber
Cara termudah bagi saya adalah yang ini (Kotlin)
sumber
Cardview
sedikit malu-malu. Saya punya daftar warna dalam struktur saya dan Modelnya seperti}
memuat model dengan warna, item terakhir pada konstruksi diambil dari
R.color
dan akhirnya Anda dapat mengaturBackgrıundResource
sumber
Saya akhirnya punya sudut untuk tinggal. Ini adalah c #, Xamarin. Android
di ViewHolder:
Dalam Adaptor:
sumber
Di Kotlin, saya dapat mengubah warna latar belakang seperti ini:
Kemudian jika Anda ingin menghapus warna, Anda bisa melakukan ini:
Dengan menggunakan metode ini saya dapat membuat animasi pilihan.
https://gfycat.com/equalcarefreekitten
sumber
sumber