Saya memiliki Tata Letak Saya seperti di bawah 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="vertical" >
<TextView
android:id="@+id/textView1"
style="@style/behindMenuItemLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="Twitter Feeds"
android:textStyle="bold" />
<ListView
android:id="@+id/list"
android:layout_width="350dp"
android:layout_height="50dp" />
<TextView
android:id="@+id/textView1"
style="@style/behindMenuItemLabel1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:text="FaceBook Feeds" />
<ListView
android:id="@+id/list1"
android:layout_width="350dp"
android:layout_height="50dp" />
</LinearLayout>
Persyaratan saya adalah menggambar garis Horizontal antara TextView
danListView
Adakah yang bisa membantu?
Jawaban:
Ini akan menggambar Garis berwarna abu-abu Perak antara
TextView
&ListView
sumber
Anda harus menggunakan View ringan baru
Space
untuk menggambar pemisah. Tata letak Anda akan memuat lebih cepat jika Anda akan menggunakanSpace
bukanView
.Pembatas horizontal:
Pembatas vertikal:
Anda juga dapat menambahkan latar belakang:
Contoh penggunaan:
Untuk menggunakan,
Space
Anda harus menambahkan dependensi di build.gradle Anda :Dokumentasi https://developer.android.com/reference/android/support/v4/widget/Space.html
sumber
Space
akan mengecewakan karenaSpace
tidak menarik apa-apa (bahkan tidak latar belakang). Satu-satunya tugas adalah mengambil ruang di layar. Solusinya adalah dengan menggunakanView
elemen vanilla . Kemudian background akan digambar sesuai keinginan. (Anda juga dapat menghindari ketergantungan pustaka dukungan jika tidak diperlukan.)Space
mewarisi dariView
dan karena itu mewarisi semua atribut yang ditentukan olehView
. (Demikian pula,LinearLayout
mewarisitextAlignment
atribut meskipun ia sendiri tidak menampilkan teks apa pun.) Jangan ragu untuk menguji ini sendiri (atau cukup lihat kode sumber) dan Anda akan menemukan bahwa aSpace
mengabaikan semua atribut yang berhubungan dengan gambar.Space
tidak menggambar latar belakang, ini transparan.tambahkan sesuatu seperti ini dalam tata letak Anda di antara tampilan yang ingin Anda pisahkan:
Semoga membantu :)
sumber
Membuatnya sekali dan menggunakannya di mana pun dibutuhkan adalah ide yang bagus. Tambahkan ini di styles.xml Anda:
dan tambahkan ini di kode xml Anda, di mana pembatas garis diperlukan:
Awalnya dijawab oleh toddles_fp untuk pertanyaan ini: Android Drawing Separator / Divider Line in Layout?
sumber
Coba ini
sumber
sumber
Anda dapat meletakkan tampilan ini di antara pandangan Anda untuk meniru garis tersebut
sumber
Coba ini berhasil untuk saya
sumber
Di setiap induk
LinearLayout
yang Anda inginkan pemisah antar komponen, tambahkanandroid:divider="?android:dividerHorizontal"
atauandroid:divider="?android:dividerVertical
.Pilih yang sesuai di antara mereka sesuai orientasi Anda
LinearLayout
.Sejauh yang saya tahu, gaya sumber daya ini ditambahkan dari Android 4.3.
sumber
Coba ini
sumber
Tampilan yang warna latar belakangnya dapat Anda tentukan akan dilakukan (tinggi = beberapa dpi). Dilihat dalam kode nyata dan ini dia:
Perhatikan bahwa itu mungkin jenis apa pun
View
.sumber
----> Yang sederhana
sumber
Jika Anda tidak ingin menggunakan tampilan ekstra hanya untuk garis bawah. Tambahkan gaya ini di
textView
.Sisi bawahnya adalah itu akan menambah properti ekstra seperti
yang dapat Anda timpa dengan mudah.
sumber