Как создать TextArea в Android

Как отобразить TextArea для моего проекта Android? Из xml единственный выбор - TextField, multi lined. Но это редактируется. Мне нужен TextArea, который предназначен только для отображения сообщений/текста, которые не могут быть изменены/введены пользователем.

Ответ 1

Его очень просто, напишите этот код в XML:

<EditText
    android:id="@+id/fname"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="First Name"
/>

Ответ 2

Попробуй это:

<EditText
        android:id="@+id/edit_text"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:inputType="text|textMultiLine"
        android:gravity="top"/>

Ответ 3

Использовать TextView внутри ScrollView

<ScrollView
    android:id="@+id/ScrollView01"
    android:layout_width="wrap_content"
    android:layout_height="150dip">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</ScrollView>

Ответ 4

Если вы не хотите, чтобы пользователь TextView текст, TextView - лучший вариант здесь. Любые способы добавления EditText для этой цели. здесь приведен пример кода.

Это будет автоматически показывать полосу прокрутки, если текст больше, чем указанные строки.

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textMultiLine"
    android:lines="8"
    android:maxLines="10"
    android:minLines="6"
    android:scrollbars="vertical" />

Изменить: добавление атрибутов ниже в textView сделает его textArea, который не будет доступен для редактирования.

android:lines="8"
android:maxLines="10"
android:minLines="6" // optional

Ответ 5

Используйте TextView внутри ScrollView для отображения сообщений с любыми строками ScrollView Пользователь не может редактировать текст в этом представлении, как в EditText.

Я думаю, что это хорошо для вашего требования. Попробуйте один раз.

Вы можете изменить цвет и размер текста по умолчанию в файле XML, только если вы хотите исправить их, как показано ниже:

<TextView 
    android:id="@+id/tv"
    android:layout_width="fill_parent"
    android:layout_height="100px"
    android:textColor="#f00"
    android:textSize="25px"
    android:typeface="serif"
    android:textStyle="italic"/>

или если вы хотите динамически меняться, когда хотите использовать, как показано ниже:

TextView textarea = (TextView)findViewById(R.id.tv);  // tv is id in XML file for TextView
textarea.setTextSize(20);
textarea.setTextColor(Color.rgb(0xff, 0, 0));
textarea.setTypeface(Typeface.SERIF, Typeface.ITALIC);

Ответ 6

<EditText
    android:id="@+id/comments_textbox"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="comments"
    android:inputType="textMultiLine"
    android:longClickable="false" />

используйте его для создания многострочного текстового поля, например textArea в Html

Ответ 7

Определение поля EditText для Android Mulitline выполняется через inputType = "textMultiline". К сожалению, текст выглядит странно выровненным. Чтобы решить эту проблему, используйте атрибут gravity = "left | top".

<EditText
   android:id="@+id/editText1"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:ems="10"
   android:gravity="left|top"
   android:inputType="textMultiLine" >

   <requestFocus />

проверьте этот блог vogella

Ответ 8

этот короткий ответ может помочь кому-то, кто хочет это сделать. добавьте этот код в свой код

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:editable="false"
    android:focusable="false"
    android:singleLine="true" />

Ответ 9

И если у вас проблемы с цветами, не волнуйтесь. Просто установите цвет фона в EditText:

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="text"
    android:textColor="@color/edtTextColor"
    android:background="@color/bgEdtColor"
    />

Ответ 10

<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="100dp">
<EditText
    android:id="@+id/question_input"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:ems="10"
    android:inputType="text|textMultiLine"
    android:lineSpacingExtra="5sp"
    android:padding="5dp"
    android:textAlignment="textEnd"
    android:typeface="normal" />

</android.support.v4.widget.NestedScrollView>

Ответ 11

       <EditText
            android:layout_width="match_parent"
            android:layout_height="160dp"
            android:ems="10"
            android:gravity="left|top"
            android:hint="Write your comment.."
            android:inputType="textMultiLine"
            android:textSize="15sp">
            <requestFocus />
       </EditText>