Bagaimana cara mengizinkan multi-line dalam EditText
tampilan Android ?
481
Bagaimana cara mengizinkan multi-line dalam EditText
tampilan Android ?
Secara default semua EditText
widget di Android multi-baris.
Berikut ini beberapa contoh kode:
<EditText
android:inputType="textMultiLine" <!-- Multiline input -->
android:lines="8" <!-- Total Lines prior display -->
android:minLines="6" <!-- Minimum lines -->
android:gravity="top|left" <!-- Cursor Position -->
android:maxLines="10" <!-- Maximum Lines -->
android:layout_height="wrap_content" <!-- Height determined by content -->
android:layout_width="match_parent" <!-- Fill entire width -->
android:scrollbars="vertical" <!-- Vertical Scroll Bar -->
/>
inputType
meniadakan setidaknyalines
danminLines
atribut. Aku punyainputType="phone"
dan atribut garis tidak berpengaruhIndexOutOfBoundsException
dan segera setelah Anda mengetik sesuatu karenaandroid:inputType="textMultiLine"
Anda mungkin merasa lebih baik menggunakan:
Ini karena
android:singleLine
sudah usang.sumber
singleLine
dari jawaban mereka (dahulu kala). Mengenai pertanyaan itu sendiri, itu adalah bagian terpenting dari jawaban mereka.IndexOutOfBoundsException
dan segera setelah Anda mengetik sesuatu. Multiline sekarang adalah default.Ini berfungsi untuk saya, sebenarnya 2 atribut ini penting: inputType dan baris . Selain itu, Anda mungkin memerlukan bilah gulir, kode di bawah ini menunjukkan cara membuatnya:
sumber
Ini adalah bagaimana saya menerapkan potongan kode di bawah ini dan berfungsi dengan baik. Semoga ini bisa membantu seseorang.
Bersulang! ...Terima kasih.
sumber
Coba ini, tambahkan baris ini ke tampilan edit teks Anda, saya akan menambahkan milik saya. pastikan kamu memahaminya
dan di kelas java Anda buat daftar klik pada teks edit ini sebagai berikut, saya akan menambahkan nama saya, pilih nama sesuai dengan milik Anda.
ini berfungsi baik untuk saya
sumber
EditText memiliki properti singleLine . Anda dapat mengatur dalam XML atau dengan memanggil setSingleLine (false); http://developer.android.com/reference/android/widget/TextView.html#setSingleLine%28%29
sumber
Semua ini bagus tetapi tidak akan berfungsi jika Anda memiliki edittext di dalam tampilan gulir tingkat atas :) Mungkin contoh yang paling umum adalah tampilan "Pengaturan" yang memiliki begitu banyak item sehingga melampaui area yang terlihat. Dalam hal ini Anda menempatkan semuanya dalam tampilan gulir untuk membuat pengaturan dapat digulir. Jika Anda membutuhkan teks edit yang dapat digulir multiline dalam pengaturan Anda, gulirnya tidak akan berfungsi.
sumber
sumber
Untuk menonaktifkan jumlah baris yang sebelumnya ditetapkan dalam tema, gunakan atribut xml:
android:lines="@null"
sumber
Baris kode ini berfungsi untuk saya. Tambahkan kode yang Anda edit di file xml Anda.
sumber
Cukup tambahkan ini
android:inputType="textMultiLine"
dalam file XML pada bidang yang relevan.sumber
Saya belajar ini dari http://www.pcsalt.com/android/edittext-with-single-line-line-wrapping-and-done-action-in-android/ , meskipun saya sendiri tidak suka situs webnya. Jika Anda ingin multiline TETAPI ingin mempertahankan tombol enter sebagai tombol posting, atur listview "scrolling horizontal" menjadi false.
android:scrollHorizontally="false"
Jika itu tidak bekerja di xml, melakukannya secara program secara aneh bekerja.
listView.setHorizontallyScrolling(false);
sumber
dan di Aktivitas untuk menghapus "\ n" adalah pengguna menekan baris berikutnya
sumber
jika seseorang menggunakan AppCompatEditText maka Anda perlu mengatur inputType = "textMultiLine" di sini adalah kode yang dapat Anda salin
untuk latar belakang
sumber
Hal lain yang rapi untuk dilakukan adalah menggunakannya
android:minHeight
bersamaandroid:layout_height="wrap_content"
. Dengan cara ini Anda dapat mengatur ukuran hasil edit ketika itu kosong, dan ketika pengguna memasukkan barang, itu membentang sesuai dengan berapa banyak input pengguna, termasuk beberapa baris.sumber