EditText
için azami satır sayısını belirleme yolu var mı? Bununla, sadece görünür olanları değil, tüm metin satırlarını kastediyorum (the android:maxLines
özniteliği açıklanmıştır). Satır numarası 1 olmamalıdır, bu nedenle android:singleLine
bir seçenek değildir.Bir EditText için en fazla metin satırını ayarla
cevap
Bu kullanabilirsiniz:
android:singleLine="false" android:lines="5"
neye ihtiyacınız yaparsa bilmiyorum.
android:maxLength="140"
Ben teoride 5 satır olacak MAXLENGTH için "700" değiştirebilir, bu bir çizgiye eşit olduğuna inanıyoruz. Numaralardan tam olarak emin değilim ama arkasındaki mantık geçerli. Sana EDITTEXT içinde satır sayısını kontrol etmek için bu kodu kullanabilirsiniz inanıyoruz
Bu geçerli değil. Kullanıcı 140x Giriyorsa Ne Yapmalı? O zaman 140 Çizgi oluşturur. – Sebi
Sebi- kullanıcının girdiği maksimum satır sayısını oluşturmaz. Bu, limiti belirleyen program kodudur. – Hounge
Bu cevap bana uygun gelmiyor. @ Sebi'den de anlaşılacağı gibi, 140 karakter dizede hangi karakterlerin olduğuna bağlı olarak çok çeşitli çizgiler içerebilir. Hat kesintilerinin yanı sıra, 140 'i ve 140' m'lerin genişliği arasında büyük bir fark var. – PaulrBear
,
editText.getLayout().getLineCount() > row-limit;
Tercihen eğer daha ileri giren kullanıcıya izin vermemek için bir TextWatcher Dinleyici "afterTextChanged()" olarak kullanabilecektir satır sınırına ulaşıldı.
edit.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
if(editText.getLayout().getLineCount() > row-limit){
//Code to stop edittext from being edited any further.
}
});
seti android: maxLines = "2" xml ve ekleyin:
edittext.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) { }
@Override
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) { }
@Override
public void afterTextChanged(Editable editable) {
if (null != edittext.getLayout() && edittext.getLayout().getLineCount() > 2) {
edittext.getText().delete(edittext.getText().length() - 1, edittext.getText().length());
}
}
});
benim için bir çözümdür. Aynı editionxt için 3,4 ... n satır sınırı için yapabilirsiniz.
Kodu uygun bir şekilde biçimlendirebilir ve yapabilirseniz biraz açıklayabilir misiniz? –
maxLines = xml olarak edittext içinde "2" - kullanıcı için sadece 2 satır görünür, ancak daha sonra 2 satır yazabilir. Bu durumda 1 satır gizlenecek ve kullanıcı ikinci ve üçüncü sırayı görecek.AfterTextChanged (Düzenlenebilir düzenlenebilir) yönteminde kontrol ederiz - üçüncü sırada yeni sembol belirdi, ya da hala ikinci ya da ilk sırada. sembol üçüncü sırada görünürse - onu sileriz. Dolayısıyla, metin edittext'te 2 satırdan daha uzun olamaz. – fvolodimir
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
public class EditTextLinesLimiter implements TextWatcher {
private EditText editText;
private int maxLines;
private String lastValue = "";
public EditTextLinesLimiter(EditText editText, int maxLines) {
this.editText = editText;
this.maxLines = maxLines;
}
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
lastValue = charSequence.toString();
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
if (editText.getLineCount() > maxLines) {
int selectionStart = editText.getSelectionStart() - 1;
editText.setText(lastValue);
if (selectionStart >= editText.length()) {
selectionStart = editText.length();
}
editText.setSelection(selectionStart);
}
}
}
Sonra:
editText.addTextChangedListener(new EditTextLinesLimiter(editText, 2));
- 1. Metin EditText
- 2. Genel metin rengini ayarla?
- 3. EditText düz metin - Android
- 4. Kopyalama için metin seçin Android EditText
- 5. EditText resize yeniden boyutlandırmak için Metin Boyutu
- 6. EditText metin değişikliklerini gözlemek için RxAndroid
- 7. Odağı WPF metin kutusuna ayarla
- 8. SelectList'te özel metin alanı ayarla
- 9. Metin satırını/kenarlığını Actionscript 3.0'da ayarlama
- 10. Bir metin dosyasının belirli bir satırını nasıl karşılaştırabilirim?
- 11. Metin dosyası içerik satırını diziye sırayla
- 12. Bir "EditText" widget'ında metin renginin bir kısmını değiştir
- 13. Metin Kutusu'nda Son Karakterden Sonra Odaklanmayı Ayarla
- 14. Android EditText onun çekilebilir ve onun metin
- 15. Edittexts ipucu metin stilini italik olarak ayarla
- 16. Android: Çoklu hat için dikey hizalama EditText (Metin alanı)
- 17. NSButton - metin rengini devre dışı modunda ayarla
- 18. Bir Edittext
- 19. Model için veritabanı ayarla?
- 20. DrRacket'te bir metin satırını nasıl temizleyebilir veya üzerine yazabilirsiniz?
- 21. ListView için en fazla satır sayısını ayarlama
- 22. django admin'i liste sonuçlarında en fazla 100 karakter gösterecek şekilde ayarla
- 23. WPF TabControl On SelectionChanged, odağı bir metin alanına ayarla
- 24. EditText
- 25. Tek bir haritadaki birden fazla metin satırı
- 26. EditText -
- 27. : EditText
- 28. Android edittext otomatik metin ile büyür ve işleri aşağı itiyor
- 29. QTextEdit satır aralığını ayarla
- 30. Daha fazla Metin in fullcalendar
sayılı robot: çizgileri görünür çizgiler ile ilgilidir. Metin çizgileriyle ilgileniyorum. Android: satırlarını bir düzenleme metnine ayarlarsanız ve 10 satır yazarsanız, 10 satırlık bir metin olacak, ancak sadece 5 tane görünür olacak. İstediğim en fazla 5 satırlık metne sahip olmak. Elli çizgiden sonra artık yazamazsınız. Cevap için teşekkürler. – Gratzi
Tamam, ancak "satır sınırlayıcıda" yapı yok. Bunu kendin yapmalısın. Örnek kod ile yığın akışında bir konu var, belki bunu kullanabilirsiniz: http://stackoverflow.com/questions/7092961/edittext-maxlines-not-working-user-can-still-input-more-lines-than- – MartijnG
'u ayarlayın Bu yazıyı gördüm, ancak düzeltme yalnızca enter tuşuna basıyor ve çok zarif değil. Gerekmiyor olsa bile, metin kısımlarını silersiniz. – Gratzi