Как MultiLine EditText с курсором с отступом, начинающимся сверху? - PullRequest
0 голосов
/ 11 апреля 2019

Я использую EditText для сообщения. Обивка EditText - это 30sdp.

Проблема в том, что когда я щелкаю этот EditText, курсор мигает в середине EditText, а я хочу, чтобы курсор был мигать в верхней части EditText.

Это мой код.

<EditText
    android:id="@+id/edremarkspetrolbill"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tvpetrolbillremarks"
    android:layout_marginLeft="@dimen/_7sdp"
    android:layout_marginTop="@dimen/_10sdp"
    android:layout_marginRight="@dimen/_10sdp"
    android:background="@drawable/background_boxsearch"
    android:gravity="top"
    android:inputType="textMultiLine"
    android:padding="@dimen/_30sdp"
    android:textColor="@color/colorbluewh"
    android:textCursorDrawable="@color/colorbluewh" />

Ответы [ 5 ]

0 голосов
/ 11 апреля 2019

вы должны изменить свой код следующим образом (я установил высоту 100dp, но я предлагаю вам поместить EditText в CostraintLayout и использовать match_constraint)

<EditText
        android:id="@+id/edremarkspetrolbill"
        android:layout_width="match_parent"
        android:layout_height="100dp"
        android:layout_below="@+id/tvpetrolbillremarks"
        android:layout_marginLeft="@dimen/_7sdp"
        android:layout_marginTop="@dimen/_10sdp"
        android:layout_marginRight="@dimen/_10sdp"
        android:paddingStart="30dp"
        android:paddingEnd="30dp"
        android:background="@drawable/background_boxsearch"
        android:gravity="top|left"
        android:inputType="textMultiLine"
        android:textColor="@color/colorbluewh"
        android:textCursorDrawable="@color/colorbluewh" />
0 голосов
/ 11 апреля 2019

android:gravity="top" правильно, но у вас есть android:layout_height="wrap_content", и это проблема.Высота вашего редактируемого текста близка к размеру текста + отступы, а курсор находится вверху текста, но вы не можете его видеть.Если вы установите высоту для вашего текста редактирования больше, чем сейчас, вы увидите, где находится курсор.Или, если вы хотите высоту wrap_content, вы можете указать minHeight параметр, тогда текст для редактирования будет раздут с помощью minHeight и увеличится, если текст не соответствует его высоте.Вы также можете указать не только один параметр в поле gravity, просто добавьте параметры с помощью |.Например: top|start, top|end и т. Д.

0 голосов
/ 11 апреля 2019

установить гравитацию на верх в многострочном текстовом редакторе

android:gravity="top"
android:inputType="textMultiLine"
0 голосов
/ 11 апреля 2019

Используйте гравитацию, как показано ниже

android:gravity="top|left"
android:inputType="textMultiLine"
0 голосов
/ 11 апреля 2019

добавьте этот атрибут в ваш текст редактирования: android:gravity="top"

...