Высота EditText не расширяется до высоты его родителя - PullRequest
1 голос
/ 26 марта 2019

Я поместил редактируемый текст в представление прокрутки с высотой = match_parent и ожидал, что его высота будет равна представлению прокрутки, но это не так. Его высота ведет себя как wrap_content, что означает, что если в EditText нет текста, мне нужно будет навести курсор на первую «строку», чтобы экранная клавиатура всплыла, и я хочу, чтобы я мог касаться в любом месте экрана ( экран прокрутки) и всплывающая программная клавиатура.

Ниже приведен макет, спасибо за помощь.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1">
        <EditText
            android:id="@+id/editText"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@android:color/transparent"
            android:gravity="top"
            android:padding="10dp"
            android:textSize="16sp"
            android:textColor="@android:color/black">
        </EditText>
    </ScrollView>

    <Button
        android:id="@+id/btnPaste"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/paste"
        android:gravity="center"
        android:onClick="pasteData"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="6dp"
        android:layout_marginBottom="5dp"
        android:background="@drawable/rounded_corner_button"
        android:textColor="@android:color/white"/>
</LinearLayout>

Схема захвата:

enter image description here

Ответы [ 3 ]

2 голосов
/ 26 марта 2019

Добавьте эту строку в ScrollView .

android:fillViewport="true"

1 голос
/ 26 марта 2019

Вы можете управлять редактированием текста, изменяя атрибут minLines

например:

<EditText
            android:id="@+id/ed_comment"
            style="@style/EditText.NoBackground"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="top"
            android:hint="@string/write_comment_hint"
            android:minLines="40"
            android:textSize="16sp"/>

и вместо переноса EditText с помощью scrollView добавьте этот атрибут в editText

android:scrollbars="vertical"

результат:

enter image description here

0 голосов
/ 26 марта 2019

Реализуйте это в свой EditText в XML-файле:

android:scrollbars="vertical"

Реализуйте это в onCreate ():

 editText.setMovementMethod(new ScrollingMovementMethod());

Тогда вам не понадобится scrollview, если вы используете его только для просмотра текста, он просто делает прокрутку только вашим просмотром текста.

...