Saya mencoba memusatkan tombol di tata letak relatif, apakah ini mungkin? Saya sudah mencoba fungsi Gravity dan Orientation tetapi mereka tidak melakukan apa-apa.
Mengatur gravitasi dari RelativeLayout itu sendiri akan mempengaruhi semua objek yang ditempatkan di dalamnya. Dalam hal ini, hanya tombolnya. Anda dapat menggunakan salah satu pengaturan gravitasi di sini, tentu saja (misalnya center_horizontal, atas, kanan, dan sebagainya).
Terima kasih. Namun, jika saya memiliki beberapa tombol dan hanya ingin satu yang terpusat, bagaimana saya melakukannya? Kode pertama akan memusatkan segala sesuatu di dalam relativelayout induk. Juga, bagaimana saya bisa memusatkan tombol di bagian atas baris itu?
Arcadia
Cukup gunakan contoh kedua, dan hanya tambahkan centerInParent ke tombol yang Anda inginkan terpusat. Anda juga dapat menggunakan centerHorizontal, dan layout_alignParentTop untuk menyelaraskannya ke atas dan memusatkannya secara horizontal. Apa sebenarnya yang ingin Anda capai, saya mungkin bisa memberikan contoh yang lebih baik.
Kevin Coppock
Saya baru saja memulai studi saya tentang pengembangan android dan mencoba untuk sepenuhnya memahami bagaimana memanipulasi hal-hal untuk melakukan apa yang saya inginkan. Pada dasarnya saya ingin menjauh dari menyelaraskan hal-hal dengan piksel karena gambar bisa terlihat sangat berbeda pada jenis layar / resolusi yang berbeda. Namun, ketika Anda menggunakan perintah gravitasi, semuanya mengikutinya. Saya mencoba menonaktifkan gravitasi untuk tombol dengan menggunakan AbaikanGravity dan itu tidak berhasil. Barang ini sangat rumit.
Arcadia
Ya, pasti bisa. Ada banyak cara untuk melakukan tata letak tertentu. Cara terbaik adalah memilah sketsa di kepala Anda seperti yang Anda inginkan, dan pergi dari sana. Tutorial singkat ini juga dapat membantu beberapa: developer.android.com/resources/tutorials/views/…
Kevin Coppock
Ya saya benar-benar melakukan tutorial itu. Saya akan mempelajari masing-masing tutorial dan belajar bagaimana memanipulasi mereka sepenuhnya, kalau tidak saya tidak akan mengerti bagaimana masing-masing berbeda.
Arcadia
25
Diringkas
Menambahkan:
android:layout_centerInParent="true"
hanya berfungsi di RelativeLayout, jika salah satu dari atribut berikut juga disetel untuk tampilan:
Untuk memusatkan menyelaraskan di salah satu arah gunakan android: layout_centerHorizontal = "true" atau android: layout_centerVertical = "true" di tata letak anak
Menghapus semua penyelarasan seperti android: layout_alignParentStart = "true" dan menambahkan centerInParent bekerja untuk saya. Jika "sejajarkan" tetap, centerInParent tidak berfungsi
Jawaban:
Mencoba
Persis seperti ini, ini berfungsi untuk saya:
sumber
Anda dapat menggunakan CENTER_IN_PARENT untuk tata letak relatif.
Tambahkan
android:layout_centerInParent="true"
ke elemen yang ingin Anda pusatkan di RelativeLayoutsumber
Arcadia, coba saja kode di bawah ini. Ada beberapa cara untuk mendapatkan hasil yang Anda cari, ini adalah salah satu cara yang lebih mudah.
Mengatur gravitasi dari RelativeLayout itu sendiri akan mempengaruhi semua objek yang ditempatkan di dalamnya. Dalam hal ini, hanya tombolnya. Anda dapat menggunakan salah satu pengaturan gravitasi di sini, tentu saja (misalnya center_horizontal, atas, kanan, dan sebagainya).
Anda juga dapat menggunakan kode ini di bawah:
sumber
Diringkas
Menambahkan:
hanya berfungsi di RelativeLayout, jika salah satu dari atribut berikut juga disetel untuk tampilan:
yang menyelaraskan tampilan anak ke tampilan induk. "Tengah" didasarkan pada sumbu pelurusan yang telah Anda pilih:
kiri / kanan -> vertikal
atas / bawah -> horisontal
Mengatur gravitasi anak / konten di dalam tampilan:
memusatkan anak di dalam tampilan induk dalam hal apa pun, jika tidak ada perataan yang ditetapkan. Opsional Anda dapat memilih:
Lalu ada:
yang memusatkan pandangan itu sendiri di dalam orang tua itu
Dan akhirnya Anda dapat menambahkan atribut berikut ke tampilan orang tua:
sumber
Gunakan atribut
android:centerInParent="true"
di dalam tampilan, saat Anda ingin memusatkan tampilan dalam tata letak Relatif.sumber
Mudah, jangan selaraskan dengan apa pun
sumber
Untuk memusatkan menyelaraskan di salah satu arah gunakan android: layout_centerHorizontal = "true" atau android: layout_centerVertical = "true" di tata letak anak
sumber
Menghapus semua penyelarasan seperti android: layout_alignParentStart = "true" dan menambahkan centerInParent bekerja untuk saya. Jika "sejajarkan" tetap, centerInParent tidak berfungsi
sumber
Sangat mudah. Coba kode di bawah ini,
sumber
Anda harus menyelaraskannya ke kiri atau kanan tampilan induk
jangan gunakan ini saat menggunakan
android:centerInParent="true"
kode: -android:layout_alignParentLeft="true"
android:layout_alignParentLeft="true"
android:layout_alignRight=""
dll.
sumber