android - एंड्रॉइड में मल्टीलाइन टेक्स्ट व्यू?




textview tablelayout (10)

मुझे 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>

यह multiline लिए काम नहीं कर रहा है, और मैं TableLayout का उपयोग कर रहा हूँ ...

तो गलती क्या मैं यहाँ कर रहा हूँ?


इसे एक्टटेक्स्ट के साथ काम करने की कोशिश करें, इसे अनजान और अयोग्य बनाकर, आप स्क्रॉलबार भी प्रदर्शित कर सकते हैं और एडिटटेक्स्ट के अंडरबार को हटा सकते हैं।
यहाँ एक उदाहरण है:

<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 -->
/>  

उम्मीद है की यह मदद करेगा :)


जो मैंने सीखा वह उन शब्दों के बीच "\ n" जोड़ना था जहां आप इसे अगली पंक्ति में ब्रेक करना चाहते हैं। उदाहरण के लिए...

<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" />

\ N 5 बजे के बीच और मुझे और अधिक नियंत्रण की अनुमति दी गई जहां मैं अपनी अगली पंक्ति शुरू करने और समाप्त करने के लिए चाहता था।


बस अपने पाठ के अंदर '\ n' डालें ... कोई अतिरिक्त विशेषता आवश्यक नहीं है :)

          <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"/> 

मल्टीलाइन टेक्स्ट व्यू के लिए मैंने पाया सबसे अच्छा जवाब है:

android:inputType="textMultiLine"

मुझे समाधान पसंद नहीं है जो टेक्स्ट व्यू में लाइनों की संख्या को मजबूर करता है। मैं सुझाव देता हूं कि आप यहां प्रस्तावित समाधान के माध्यम से इसे हल करें । जैसा कि मैंने देखा है कि ओपी भी टेक्स्ट व्यू बनाने में संघर्ष कर रहा है, तालिका और shrinkColumns में उचित shrinkColumns है shrinkColumns वांछित हासिल करने के लिए पास करने का सही निर्देश है।


मेरे लिए समाधानों में से कोई काम नहीं किया। मुझे पता है कि यह इस सवाल का पूरा जवाब नहीं है, लेकिन कभी-कभी यह मदद कर सकता है।

मैंने एक वर्टिकल लाइनरलेआउट में 4 टेक्स्टव्यू डाले।

<Linearlayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation:"vertical"

    ...>
    <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text:"line1"
       .../>
    <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text:"line2"
       .../>
    <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text:"line3"
       .../>
    <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text:"line4"
       .../>
</LinearLayout>

यह समाधान उन मामलों के लिए अच्छा है जो टेक्स्ट व्यू टेक्स्ट स्थिर हैं, लेबल की तरह।


मैंनें इस्तेमाल किया:

TableLayout tablelayout = (TableLayout) view.findViewById(R.id.table);
tablelayout.setColumnShrinkable(1,true);

यह मेरे लिए काम किया। 1 कॉलम की संख्या है।


यदि आप टेक्स्ट TextView में जो पाठ डाल रहे हैं वह छोटा है, तो यह स्वचालित रूप से चार पंक्तियों तक विस्तारित नहीं होगा। यदि आप TextView में टेक्स्ट की लंबाई के बावजूद हमेशा चार लाइनों को रखना चाहते हैं, तो android:lines सेट करें android:lines विशेषता:

<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>

आप टेबलरो के साथ ऐसा कर सकते हैं, नीचे कोड देखें

<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>

सबसे पहले अपने Html समतुल्य "\n" साथ "\n" को प्रतिस्थापित करें "\n" "&lt;br&gt;" फिर स्ट्रिंग पर Html.fromHtml() को कॉल करें। नीचे दिए गए चरणों का पालन करें:

String text= model.getMessageBody().toString().replace("\n", "&lt;br&gt;")
textView.setText(Html.fromHtml(Html.fromHtml(text).toString()))

यह पूरी तरह से काम करता है।


स्क्रॉलव्यू में बस टेक्स्टव्यू जोड़ें

<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>




multiline