Saya punya tombol. Ketika saya menekan tombol saya harus membuat teks sebagai huruf tebal kalau tidak normal. Jadi saya menulis gaya untuk tebal & normal.
<style name="textbold" parent="@android:style/TextAppearance">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textStyle">bold</item>
</style>
<style name="textregular" parent="@android:style/TextAppearance">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textStyle">normal</item>
</style>
Sekarang saya memiliki button_states.xml sebagai:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="true"
style="@style/textbold" />
<item android:state_focused="false" android:state_pressed="true"
style="@style/textregular" />
<item style="@style/textregular" />
</selector>
Dalam tata letak saya untuk tombol ini, saya harus membuat latar belakang menjadi transparan juga ... Bagaimana saya akan melakukannya? Kode tata letak saya adalah:
<Button android:id="@+id/Btn" android:background="@drawable/button_states" />
Bagaimana saya akan memasukkan latar belakang transparan dalam gaya saya?
Jawaban:
Untuk membuat latar belakang transparan, lakukan saja
android:background="@android:color/transparent"
.Namun, masalah Anda tampaknya sedikit lebih dalam, karena Anda menggunakan penyeleksi dengan cara yang sangat aneh. Cara Anda menggunakannya tampaknya salah, meskipun jika itu benar-benar berfungsi, Anda harus meletakkan gambar latar dalam gaya sebagai
<item/>
.Lihatlah lebih dekat bagaimana gaya digunakan dalam sumber Android. Meskipun mereka tidak mengubah gaya teks setelah mengklik tombol, ada banyak ide bagus tentang bagaimana mencapai tujuan Anda di sana.
sumber
Coba cara baru untuk mengatur latar belakang transparan
sumber
gunakan
#0000
(hanya empat nol jika tidak akan dianggap sebagaiblack
) ini adalah kode warna untuk transparan. Anda dapat menggunakannya secara langsung tetapi saya sarankan Anda untuk menentukan warna dalam color.xml sehingga Anda dapat menikmati kegunaan ulang kode.sumber
@android:color/transparent
Tambahkan ini di Xml Anda -
android:background="@android:color/transparent"
sumber
Anda juga dapat menggunakan: di xml Anda:
atau dalam kode:
sumber
Saya mencapai ini dengan dalam XML dengan
sumber
Saya menggunakan
dan
sumber
Selektor hanya berfungsi untuk gambar, bukan gaya. Referensi
Pertama , untuk membuat latar belakang tombol transparan, gunakan atribut berikut karena ini tidak akan mempengaruhi animasi desain material:
Ada banyak cara untuk menata tombol Anda. Lihatlah tutorial ini .
Kedua , untuk membuat teks tebal ditekan, gunakan kode java ini:
sumber
Anda dapat mencapainya dengan mengatur saluran alpha warna.
Skema warna seperti ini #AARRGGBB ada A singkatan saluran alpha (transparansi), R singkatan merah, G untuk hijau dan B untuk biru.
sumber
Langkah 1: Buat file sumber baru di drawable dan copy paste
simpan sebagai ButtonUI (katakanlah)
Langkah 2: Terapkan UI ke tombol xml
sumber
Kode:
Xml:
sumber
Kita dapat menggunakan atribut android: background di Button xml seperti di bawah ini.
Atau kita bisa menggunakan style
style="?android:attr/borderlessButtonStyle"
untuk latar belakang transparan dan kurang bayangan.sumber
Anda menerapkan warna latar belakang seperti
transparent(light gray)
ketika Anda mengklik tombol.Dalam metode di atas Anda mengatur warna latar belakang tombol.
sumber
Anda dapat melakukannya dengan mudah dengan menambahkan atribut di bawah ini dalam file xml. Kode ini diuji banyak waktu.
sumber