Saya punya TextView
di aplikasi saya. Saya ingin menyelaraskan teks di dalamnya ke kanan. Saya mencoba menambahkan:
android:gravity="right"
Tetapi ini tidak berhasil untuk saya.
Apa yang mungkin saya lakukan salah?
Saya pikir Anda melakukan ini: android:layout_width = "wrap_content"
Jika ini masalahnya, lakukan ini:android:layout_width = "match_parent"
Secara umum,
android:gravity="right"
berbeda dariandroid:layout_gravity="right"
.Yang pertama memengaruhi posisi teks itu sendiri di dalam Tampilan, jadi jika Anda ingin teksnya lurus, maka
layout_width=
harus salah satu"fill_parent"
atau"match_parent"
.Yang kedua mempengaruhi posisi Tampilan di dalam induknya, dengan kata lain - menyelaraskan objek itu sendiri (kotak edit atau tampilan teks) di dalam tampilan induk.
sumber
Solusi yang lebih baik adalah yang paling sederhana, dan yang kurang modifikasi dalam perilaku kode Anda .
Bagaimana jika Anda dapat mengatasi masalah ini hanya dengan 2 Properti di Anda
TextView
?Alih-alih perlu mengubah
LinearLayout
Properti Anda yang mungkin dapat mengubah perilakuLinearLayout
anak - anak?Dengan menggunakan cara ini, Anda tidak perlu mengubah
LinearLayout
properti dan perilaku, Anda hanya perlu menambahkan dua properti berikut ke target AndaTextView
:Apa yang lebih baik untuk mengubah hanya target Anda untuk menyelesaikan solusi Anda daripada memiliki kesempatan untuk menyebabkan masalah lain di masa depan, memodifikasi ayah target Anda? Pikirkan tentang itu :)
sumber
TextView
properti? - Anda dapat memeriksa properti dari referensi di sini: developer.android.com/reference/android/view/…android:layout_gravity
digunakan untuk menyelaraskan tampilan teks sehubungan dengan tata letak induk.android:gravity
digunakan untuk menyelaraskan teks di dalam tampilan teks.Apakah Anda yakin Anda mencoba menyelaraskan teks di dalam tampilan teks ke kanan atau apakah Anda ingin memindahkan tampilan teks itu sendiri ke kanan sehubungan dengan tata letak induk atau Anda mencoba untuk mencapai keduanya
sumber
Cuplikan kode berikut:
bekerja bagus untukku
sumber
Dalam kasus seseorang masih membutuhkan
sumber
Pastikan Anda tidak menggunakan
android:layout_width="wrap_content"
jika demikian maka itu tidak akan dapat mengatur gravitasi karena Anda tidak memiliki cukup ruang untuk teks untuk disejajarkan. Sebaliknya gunakanandroid:layout_width="fill_parent"
sumber
Ini pada dasarnya digunakan dalam Layout Linear sehingga Anda harus mengatur lebar TextView atau EditText sebagai
dan
Saat Anda bekerja di Layout Relatif, gunakan
sumber
Buat (LinearLayout)
android:layout_width="match_parent"
dan TextView'sandroid:layout_gravity="right"
sumber
Jika ada di dalam
RelativeLayout
Anda dapat menggunakanandroid:layout_toRightOf="@id/<id_of_desired_item>"
Atau
Jika Anda ingin menyelaraskan ke
right
sudut perangkat tempatandroid:layout_alignParentRight="true"
sumber
android_layout_gravity
berperilakufloat:left|right|top|bottom
Sedangkan
android_gravity
bekerja sebagaitext_align:centre|left|right
Di Android float adalah android_layout_gravity dan text_align: adalah android_gravity.
Dan android_layout_gravity berlaku relatif terhadap orang tua. dimana android_gravity berlaku untuk anak atau konten dalamnya.
Catatan android_gravity hanya berfungsi ketika View-nya match_parent (bila ada ruang ke pusat).
sumber
Di bawah ini berfungsi untuk saya:
Harap perhatikan
android:layout_alignParentEnd
danandroid:textAlignment
pengaturan TextView kedua.sumber
Kamu bisa memakai:
sumber
ini harus memenuhi tujuannya
android:textAlignment="textStart"
sumber
Dalam kasus saya, saya menggunakan
Relative Layout
untukemptyString
Setelah berjuang selama satu jam. Hanya ini yang bekerja untuk saya:
layout_toRightOf
ataulayout_toEndOf
keduanya berfungsi, tetapi untuk mendukungnya lebih baik, saya menggunakan keduanya.Untuk membuatnya lebih jelas:
Inilah yang saya coba lakukan:
Dan ini adalah keluaran emulator
Tata letak:
Perhatikan itu:
android:layout_width="wrap_content"
bekerjaGravity
tidak digunakansumber
Saya juga menghadapi masalah yang sama dan menemukan masalah yang terjadi karena layout_width dari TextView mengalami wrap_content. Anda harus memiliki layout_width sebagai match_parent dan android: gravity = "gravity"
sumber
membuat nomor satu sejajar di tengah baik horisontal dan vertikal.
sumber
mencoba untuk menambahkan
android:gravity="center"
keTextView
sumber
Saya telah menggunakan atribut "layout_alignRight" dalam kasus saya, dalam teksnya:
Jika Anda ingin menambahkan margin kanan, cukup atur atribut "Layout_Margin Right" menjadi "20dp" untuk contoh, dalam teksnya:
sumber