Di aplikasi Android saya, saya memiliki tata letak ini:
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
class="com.google.android.gms.maps.SupportMapFragment"/>
<Button
android:id="@+id/button_back"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="CloseActivity"
android:padding="0dp"
android:text="@+string/back" />
</LinearLayout>
Di pratinjau dan di telepon, sepertinya:
Seperti yang Anda lihat pada tombol di area bawah, ada beberapa padding di sana.
Bagaimana saya bisa menyingkirkan itu, dan biarkan tombol sepenuhnya mengisi area bawah?
Jawaban:
Bagi saya masalahnya ternyata adalah minHeight dan minWidth pada beberapa tema Android.
Pada elemen Tombol, tambahkan:
Atau dengan gaya tombol Anda:
sumber
Button
masih mengambil banyak ruang bahkan setelah pengaturannyaandroid:background="@null"
. Fakta bahwaButton
gaya default bertanggung jawab adalah tip yang sangat bagus.Solusi saya disetel ke 0 properti insetTop dan insetBottom.
sumber
Itu bukan padding, itu bayangan di sekitar tombol di latar belakangnya yang dapat digambar. Buat latar belakang Anda sendiri dan itu akan hilang.
sumber
Solusi mungkin mencoba menggunakan
-ve
nilai untuk margin seperti berikut:Itu akan membuat ruang itu lenyap. Maksud saya Anda dapat memilih nilai yang sesuai
dip
, yang membuatnya hilang. Ini berhasil untuk saya. Semoga ini berhasil untuk Anda.sumber
Untuk menghapus padding sekitar tombol toggle kita perlu mengatur minWidth dan minHeight 0dp.
android:minWidth="0dp" android:minHeight="0dp"
atur file Anda yang dapat ditarik ke atribut tombol seperti:
android:button="@drawable/toggle_selector"
Di bawah ini adalah
toggle_selecter.xml
file sayasumber
Saya baru mengenal android tetapi saya memiliki situasi yang serupa. Saya melakukan apa yang disarankan oleh @Delyan dan juga menggunakan android: background = "@ null" di file layout xml.
sumber
Dalam set XML tombol
android:includeFontPadding="false"
sumber
Saya memiliki masalah yang sama dan sepertinya itu karena warna latar tombol. Coba ubah warna latar menjadi warna lain, misalnya:
dan lihat apakah itu berfungsi. Anda kemudian dapat menentukan gaya jika Anda ingin tombol itu digunakan.
sumber
Untuk menghapus bantalan Atas dan Bawah
Untuk menghapus padding Kiri dan Kanan
sumber
Ini bukan padding tetapi atau bayangan latar belakang yang dapat digambar atau masalah dengan
minHeight
danminWidth
.Jika Anda masih menginginkan efek riak yang bagus, Anda dapat membuat gaya tombol sendiri menggunakan
?attr/selectableItemBackground
:Dan menerapkannya pada tombol:
sumber
Tampaknya tidak menjadi padding, margin, atau minheight / lebar. Mengatur
android:background="@null"
tombol kehilangan animasi sentuhannya, tetapi ternyata pengaturan latar belakang untuk apa pun memperbaiki perbatasan itu.Saat ini saya bekerja dengan:
sumber
Berikan tombol Anda latar belakang khusus: @ drawable / material_btn_blue
sumber
Anda juga dapat melakukannya dengan
layout_width(height)
parameter.Misalnya saya telah menghapus ruang atas dan bawah dengan
android:layout_height="18dp"
kode.sumber
Tombol standar tidak seharusnya digunakan dengan lebar penuh karena itu Anda mengalami hal ini.
Latar Belakang
Jika Anda melihat Material Design - Button Style Anda akan melihat bahwa sebuah tombol memiliki area klik tinggi 48dp, tetapi akan ditampilkan sebagai tinggi 36dp untuk ... beberapa alasan.
Ini adalah garis besar latar belakang yang Anda lihat, yang tidak akan mencakup seluruh area tombol itu sendiri.
Ini memiliki sudut bulat dan beberapa padding dan seharusnya dapat diklik dengan sendirinya, membungkus isinya, dan tidak menjangkau seluruh lebar di bagian bawah layar Anda.
Larutan
Seperti yang disebutkan di atas, yang Anda inginkan adalah latar belakang yang berbeda . Bukan tombol standar, tetapi latar belakang untuk item yang dipilih dengan efek riak yang bagus ini.
Untuk kasus penggunaan ini ada
?selectableItemBackground
atribut tema yang dapat Anda gunakan untuk latar belakang Anda (terutama dalam daftar).Ini akan menambahkan riak standar platform (atau beberapa daftar status warna pada <21) dan akan menggunakan warna tema Anda saat ini.
Untuk penggunaan Anda, Anda mungkin hanya menggunakan yang berikut ini:
Juga tidak perlu menambahkan bobot tata letak jika tampilan Anda adalah satu-satunya dan menjangkau seluruh layar
Jika Anda memiliki beberapa gagasan berbeda tentang bagaimana seharusnya latar belakang Anda, Anda harus membuat sendiri kustom yang dapat digambar, dan mengelola warna serta menyatakan di sana.
sumber
Setelah jam menggali sekitar beberapa jawaban yang saya akhirnya menemukan solusi yang tidak menggunakan elemen yang berbeda, memanipulasi
minHeight
atauminWidth
, atau bahkan membungkusButton
di sekitarRelativeLayout
.Bagian utama yang bisa diambil di sini adalah latar depan dan bukan latar belakang seperti yang ditentukan oleh banyak jawaban. Mengubah latar belakang itu sendiri
selectableItemBackground
hanya akan menimpa perubahan yang Anda buat pada warna / latar belakang tombol, jika ada.Mengubah latar depan memberi Anda yang terbaik dari kedua dunia: singkirkan bantalan "tak terlihat" dan pertahankan desain kancing Anda.
sumber
Anda dapat menggunakan gaya Tanpa Batas di AppCompatButton seperti di bawah ini. dan gunakan android: background dengan itu.
Kode tombol
Keluaran:
sumber