Saya memulai dengan Android. Saya kesulitan mendapatkan tata letak yang sederhana.
Saya ingin menggunakan LinearLayout
ke posisi dua TextViews
dalam satu baris. Satu TextView
di sisi kiri, yang lain di sisi kanan (analog dengan float: left, float: right in CSS).
Apakah itu mungkin, atau apakah saya perlu menggunakan ViewGroup
tata letak yang berbeda atau lebih jauh untuk menyelesaikannya?
Inilah yang saya miliki sejauh ini:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="horizontal" android:padding="10sp">
<TextView android:id="@+id/mytextview1" android:layout_height="wrap_content" android:text="somestringontheleftSomestring" android:layout_width="wrap_content"/>
<TextView android:id="@+id/mytextview2" android:layout_height="wrap_content" android:ellipsize="end"
android:text="somestringontheright" android:layout_width="wrap_content"/>
</LinearLayout>
Anda bisa menggunakan properti gravitasi untuk "melayang" tampilan.
sumber
Ini dapat dilakukan dengan
LinearLayout
(lebih sedikit overhead dan lebih banyak kontrol daripada opsi Relative Layout). Berikan pandangan kedua sisa ruang sehinggagravity
bisa bekerja. Diuji kembali ke API 16.Jika Anda ingin membatasi ukuran tampilan teks pertama, lakukan ini:
Sesuaikan bobot sesuai kebutuhan. Tata letak relatif tidak akan memungkinkan Anda untuk mengatur persentase berat seperti ini, hanya dp tetap dari salah satu tampilan
sumber
Bahkan dengan tip Rollin_s, jawaban Dave Webb tidak bekerja untuk saya. Teks di sebelah kanan
TextView
masih tumpang tindih dengan teks di sebelah kiriTextView
.Saya akhirnya mendapatkan perilaku yang saya inginkan dengan sesuatu seperti ini:
Perhatikan bahwa mytextview2 telah
"android:layout_width"
ditetapkan sebagai"match_parent"
.Semoga ini bisa membantu seseorang!
sumber
sumber
Jika Anda ingin elemen kiri dan kanan untuk membungkus konten tetapi memiliki ruang tengah
sumber
Ada banyak cara lain untuk mencapai ini, saya akan melakukan sesuatu seperti ini.
sumber
Jawaban Dave Webb berhasil bagi saya. Terima kasih! Ini kode saya, semoga ini membantu seseorang!
Gambar: Gambar
sumber
Kode ini akan membagi kontrol menjadi dua sisi yang sama.
sumber