Saya mencoba, agak mengkloning desain suatu kegiatan dari satu set slide pada desain Android UI . Namun saya mengalami masalah dengan tugas yang sangat sederhana.
Saya telah membuat tata letak seperti yang ditunjukkan pada gambar, dan header TextView
dalam a RelativeLayout
. Sekarang saya ingin mengubah warna latar belakang RelativeLayout
, namun sepertinya saya tidak tahu caranya.
Saya tahu saya bisa mengatur android:background
properti di RelativeLayout
tag dalam file XML, tetapi apa yang saya set untuk itu? Saya ingin mendefinisikan warna baru yang dapat saya gunakan di banyak tempat. Apakah itu a drawable
atau a string
?
Selain itu saya berharap ada cara yang sangat sederhana untuk ini dari dalam desainer UI Android Eclipse bahwa saya harus hilang?
Saya agak frustasi saat ini, karena ini harus menjadi kegiatan yang dilakukan dengan beberapa klik maksimal. Jadi bantuan apa pun sangat kami hargai. :)
sumber
Jawaban:
Anda dapat menggunakan sumber daya warna sederhana , yang ditentukan biasanya di dalam
res/values/colors.xml
.dan gunakan ini via
android:background="@color/red"
. Warna ini dapat digunakan di tempat lain juga, misalnya sebagai warna teks. Rujuk dalam XML dengan cara yang sama, atau dapatkan melalui kodegetResources().getColor(R.color.red)
.Anda juga dapat menggunakan sumber daya apa pun yang dapat digambar sebagai latar belakang, gunakan
android:background="@drawable/mydrawable"
untuk ini (artinya 9 drawable drawmap, bitmap normal, shape drawables, ..).sumber
ANDROID_SDK\samples
folder (untuk berbagai versi android). Seluruh aplikasi sampel api hadir juga sudah diinstal di setiap instance emulator.Jawaban di atas bagus. Anda juga bisa seperti ini secara terprogram jika Anda mau
Pertama, tata letak Anda harus memiliki ID. Tambahkan dengan menulis
+id
baris berikut di res / layout / *. XmlKemudian, dalam kode Java Anda, buat perubahan berikut.
Terlepas dari ini, jika Anda memiliki warna yang ditentukan dalam colors.xml, maka Anda juga dapat melakukannya secara terprogram:
sumber
Anda dapat menggunakan
android:background="#DC143C"
, atau nilai RGB lainnya untuk warna Anda. Saya tidak punya masalah menggunakannya dengan cara ini, seperti yang dinyatakan di sinisumber
Itu
contoh tidak bekerja untuk saya, tetapi
bekerja untuk saya di elemen tata letak relatif sebagai atribut.
sumber
Jika Anda ingin mengubah warna dengan cepat (dan Anda tidak menghafal angka Hex) android memiliki beberapa warna yang dapat Anda akses seperti ini:
Ada 15 warna yang dapat Anda pilih yang bagus untuk menguji berbagai hal dengan cepat, dan Anda tidak perlu mengatur file tambahan.
Menyiapkan file values / colors.xml dan menggunakan Hex lurus seperti yang dijelaskan di atas akan tetap berfungsi.
sumber
4 cara yang mungkin, gunakan yang Anda butuhkan.
1. Kotlin
2. Pengikatan Data
ATAU pernyataan yang lebih berguna-
3. XML
4. Jawa
sumber
Android studio 2.1.2 (atau mungkin sebelumnya) akan memungkinkan Anda memilih dari roda warna:
Saya mendapatkan ini dengan menambahkan berikut ini ke tata letak saya:
Kemudian saya mengklik warna FFFFFF dan mengklik bola lampu yang muncul.
sumber
Kotlin
atau
-
sumber
Jawaban di atas semuanya statis. Saya pikir saya akan memberikan jawaban yang dinamis. Dua file yang perlu disinkronkan adalah relatif
foo.xml
dengan tata letak danactivity_bar.java
yang sesuai dengan kelas Java yang sesuai dengan iniR.layout.foo
.Di
foo.xml
menetapkan id untuk seluruh tata letak:Dan masuk
activity_bar.java
atur warna dionCreate()
:Saya harap ini membantu.
sumber