Saya telah menambahkan EditText
tata letak saya, dan menambahkan petunjuk, dan membuatnya terpusat secara horizontal.
Saat menjalankan aplikasi, petunjuk itu tidak terlihat. Saya menemukan bahwa saya harus membuat ellipsize
nilai TextView
menjadi start
:
<EditText
android:id="@+id/number1EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="start"
android:ems="10"
android:gravity="center_horizontal"
android:hint="@string/hint1" />
Dalam dokumentasi Android, saya membaca:
Jika diatur, menyebabkan kata-kata yang lebih panjang dari tampilan lebar menjadi
elips bukannya patah di tengah.
Masalahnya adalah itu ellipsize
tidak ditemukan dalam kamus. Adakah yang bisa menjelaskan kepada saya manfaat apa yang bisa kita peroleh dengan ellipsize
atribut? Dan apa perbedaan antara start
, end
, middle
?
android
android-layout
textview
Hamzeh Soboh
sumber
sumber
Jawaban:
Anda dapat menemukan dokumentasi di sini .
Berdasarkan kebutuhan Anda, Anda dapat mencoba opsi yang sesuai.
untuk ellipsize , suatu neologisme, berarti mempersingkat teks menggunakan ellipsis , yaitu tiga titik
...
atau lebih umum ligatur…
, untuk menggantikan bit yang dihilangkan.Katakanlah nilai asli tampilan teks pf adalah aaabbbccc dan pas di dalam tampilan
start
Outputnya adalah: ... bcccend
Output akan menjadi: aaab ...middle
Output akan menjadi: aa ... ccmarquee
Outputnya adalah: aaabbbccc geser otomatis dari kanan ke kirisumber
untuk pengalaman saya, Ellipsis hanya berfungsi jika di bawah dua atribut ditetapkan.
untuk lebar tampilan teks, wrap_content atau match_parent keduanya harus baik.
sumber
android:singleLine
sudah tidak digunakan lagi sejak API level 3, jadi alih-alih gunakanandroid:maxLines
. Harap dicatat:> jika singleLine dan inputType disediakan, flag inputType akan mengesampingkan nilai singleLine. Lihatlah dokumen di R.attr.html # singleLineHow to Add an ellipsis in a TextView
android: ellipsize ditambahkan di API Level 1. Ellipsis adalah tiga periode berturut-turut. (...).
Di Xml Anda
Pada titik ini, elipsis belum akan ditampilkan karena TextView diatur untuk diperluas secara default secara default ketika teks baru dimasukkan. Anda perlu membatasi TextView dengan beberapa cara. Lakukan ini, Anda dapat menggunakan salah satu dari Anda
TextView a scrollHorizontally, minLines, or maxLines
untuk memiliki tampilan elipsis.Untuk membuat elips:
Dan
Dan
Dan
Mohon diperhatikan:
Untuk lebih jelasnya Anda dapat mengunjungi di sini
sumber
Sebuah ellipsis adalah tiga periode berturut-turut ...
TextView akan menggunakan elipsis ketika itu tidak dapat diperluas untuk menampilkan semua teksnya. Atribut
ellipsized
menentukan posisi tiga titik jika perlu.sumber
Teks:
Misalkan di atas adalah Anda teks dan jika Anda menggunakan
ellipsize
'sstart
atribut itu akan terlihat seperti inidengan
end
atributsumber
berikut adalah contoh tentang cara kerja ellipsize tanpa menggunakan deprecated
android:singleLine="true"
dalam ConstraintLayout:ingat jika Anda memiliki teks yang seharusnya dalam satu baris, maka ubah maxLines menjadi 1.
sumber
android:layout_width="0dp"
bukanandroid:layout_width="wrap_content"
. Catatan ini berlaku karena saya menggunakan aConstraintLayout
. Juga dibahas di sini stackoverflow.com/a/48149405/2848676Catatan: teks Anda harus lebih besar dari kotak penampung untuk hal-hal berikut ini yang harus tenda:
sumber
Setel properti ini untuk mengedit teks. Elipsize berfungsi dengan menonaktifkan teks edit
atau setKeyListener (null);
sumber
Gunakan ellipsize ketika Anda memiliki lebar tetap, maka itu akan secara otomatis memotong teks & menampilkan ellipsis di akhir,
itu tidak akan berfungsi jika Anda mengatur layout_width sebagai wrap_content & match_parent.
sumber