Vraag Multiline TextView in Android?


Ik vond het leuk hieronder xml

<TableRow>
    <TextView android:id="@+id/address1"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:gravity="left"
        android:maxLines="4" 
        android:singleLine="false"              
        android:text="Johar Mor, Gulistan-e-Johar, Karachi" >
    </TextView> 
</TableRow>

Het werkt niet voor multilineen ik gebruik TableLayout...

dus wat is het fout dat ik hier doe?


121
2017-07-13 05:49


oorsprong


antwoorden:


Als de tekst die u invoert in de TextView is kort, het wordt niet automatisch uitgebreid naar vier regels. Als je het wilt TextView naar altijd hebben vier regels, ongeacht de lengte van de tekst erin, stel de android:lines attribuut:

<TextView
    android:id="@+id/address1"
    android:gravity="left"
    android:layout_height="fill_parent"
    android:layout_width="wrap_content"
    android:maxLines="4"
    android:lines="4"
    android:text="Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."></TextView>

U kunt dit doen met TableRow, zie onderstaande code

<TableRow >
        <TextView
            android:id="@+id/tv_description_heading"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:padding="8dp"
            android:text="@string/rating_review"
            android:textColor="@color/black"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/tv_description"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="left"
            android:maxLines="4"`enter code here`
            android:padding="8dp"
            android:text="The food test was very good."
            android:textColor="@color/black"
            android:textColorHint="@color/hint_text_color" />
    </TableRow>

169
2017-07-13 06:04



Ik probeerde commentaar te geven op een van de bovenstaande antwoorden, maar ik heb niet genoeg reputatie.
Ik dacht gewoon dat ik zou toevoegen dat als je gebruikt:

android:inputType="textMultiLine" 

Dan kan het zicht niet meer worden aangeklikt. Ik probeerde meerregelige tekstweergaven in mijn schuiflademenu te krijgen, wat uiteraard op klikken moet reageren.

De android:singleLine="false" werkte prima.


91
2018-01-27 13:05



Ik hou van geen van de antwoorden. Stel simpelweg het invoertype in en de TextView past zich aan de inhoud aan

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

Getest op een Nexus One (2.3) en Nexus 4 (4.4)


27
2017-12-05 10:25



Voeg gewoon tekstweergave toe in ScrollView

<ScrollView
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:layout_weight="1"
           android:layout_marginLeft="15dp"
           android:layout_marginRight="15dp"
           android:layout_marginTop="20dp"
           android:fillViewport="true">

           <TextView
               android:id="@+id/txtquestion"
               android:layout_width="fill_parent"
               android:layout_height="match_parent"
               android:background="@drawable/abs__dialog_full_holo_light"
               android:lines="20"
               android:scrollHorizontally="false"
               android:scrollbars="vertical"
               android:textSize="15sp" />

       </ScrollView>

10
2017-07-01 10:53



Plaats eenvoudig '\ n' in je tekst ... geen extra attribuut vereist :)

          <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Pigeon\nControl\nServices"
            android:id="@+id/textView5"
            android:layout_gravity="center"
            android:paddingLeft="12dp"/> 

7
2017-08-08 06:03



Ik hou niet van de oplossing die het aantal regels in de tekstweergave forceert. Ik raad eerder aan om het via de oplossing op te lossen hier voorgesteld. Zoals ik zie, worstelt het OP ook met het maken van tekstweergave in tabel en als correct shrinkColumns is de juiste richtlijn om in te geven om te bereiken wat gewenst is.


5
2017-11-15 17:43



Probeer met EditText te werken door het onklikbaar en onfocusbaar te maken, ook kun je een schuifbalk weergeven en de onderliggende balk van EditText verwijderen.
Hier is een voorbeeld:

<EditText
android:id="@+id/my_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_parent"
android:inputType="textMultiLine"                   <!-- multiline -->
android:clickable="false"                         <!-- unclickable -->
android:focusable="false"                         <!-- unfocusable -->
android:scrollbars="vertical"     <!-- enable scrolling vertically -->
android:background="@android:color/transparent"   <!-- hide the underbar of EditText -->
/>  

Ik hoop dat dit helpt :)


5
2018-03-26 15:48



Wat ik leerde was om "\ n" toe te voegen tussen de woorden waar je wilt dat het remt in de volgende regel. Bijvoorbeeld...

<TextView
    android:id="@+id/time"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAlignment="center"
    android:text="M-F 9am-5pm \n By Appointment Only" />

De \ n tussen 17.00 uur en 19.00 uur gaf me meer controle over waar ik wilde dat mijn volgende regel zou beginnen en eindigen.


2
2018-02-17 09:42