Вопрос:
Я хочу увеличить высоту EditText в соответствии с тем, что я пишу текст в edittext динамически или через xml.
Я пробовал этот код, но он довел до 2 строк. так что помогите мне решить это.
<LinearLayout android:layout_width=»fill_parent» android:layout_height=»wrap_content» android:layout_marginTop=»10dp» android:orientation=»vertical» > <EditText android:id=»@+id/edtAddress» android:layout_width=»fill_parent» android:layout_height=»wrap_content» android:background=»@null» android:drawableLeft=»@drawable/user» android:drawablePadding=»5dp» android:singleLine=»false» android:inputType=»textCapSentences|textMultiLine» android:hint=»Address» android:maxLength =»2000″ android:isScrollContainer=»true» android:padding=»5dp» /> <View android:layout_width=»fill_parent» android:layout_height=»0.5dp» android:background=»@color/editText_line» /> </LinearLayout> Лучший ответ:
Я думаю, что внедрение android-autofittextview является наилучшим решением для того, что вы ищете.
Ответ №1
Лучше практиковать увеличение высоты EditText до 4 строк. Поэтому вы должны попробовать под кодом.
<EditText android:id=»@+id/edtInput» android:layout_width=»0dip» android:layout_height=»wrap_content» android:layout_weight=»1″ android:background=»@null» android:drawableLeft=»@drawable/user» android:drawablePadding=»5dp» android:singleLine=»false» android:inputType=»textCapSentences|textMultiLine» android:hint=»Address» android:maxLength =»2000″ android:isScrollContainer=»true» android:padding=»5dp» android:maxLines=»4″ />
Надеюсь, это поможет вам.
Ответ №2import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; import android.widget.EditText; public class Main2Activity extends AppCompatActivity { EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); editText = findViewById(R.id.editText); editText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { } @Override public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { } @Override public void afterTextChanged(Editable editable) { getSize(); } }); } private void getSize() { if (editText.getLineCount() == editText.getMaxLines()) { editText.setMaxLines((editText.getLineCount() + 1)); } // Log.e(«lenth», editText.getContentDescription().length()+»»); } } Ответ №3
Для этого вам необходимо настроить:
android:inputType=»textMultiLine» android:layout_height=»wrap_content» Ответ №4
Установите параметр “android: maxLines” в edittext в xml файле, он увеличит количество строк.
Ответ №5
Добавьте эти свойства в свой файл EditText в xml файле:
android:inputType=»textMultiLine» android:maxLines=»10″