1

首先,我做了一個Google搜索,看着 StackOverFlowTextView中的文本被切斷相關的問題。他們沒有幫助解決手頭的問題,儘管他們提供了對某些事情更好的理解。Table行內的TextView內容被切斷

這是我的問題。

我使用TableLayout來顯示帶有兩個文本字段的記錄。每行有兩個TextView單元格。對於所有單元,layout_width設置爲wrap_content。但是,即使文本以多行顯示,該多行文本中的每一行都會在最後切斷。

例如

<?xml version="1.0" encoding="utf-8"?> 
    </TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> 
    <TableRow> 
     <TextView 
      android:text="Notes" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/visitation_notes" /> 
     <TextView 
      android:text="Need to visit again. Visit till the doctor understands the importance of the Test. The problem is, it is very difficult to get appointment for the visit. Still, we need to keep trying till the point reaches to him/her." 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/visitation_notes_value" 
      android:textAlignment="viewStart"/> 
    </TableRow> 
    </TableLayout> 

產生的視圖

Notes.Need再次訪問。訪問直到醫生和erstands 測試的重要性。問題是,它是非常困難的 到得到預約訪問。仍然,我們需要d繼續嘗試 直到點到他/她。

與黑體書寫越來越文本切斷

如果我用LinearLayout代替TableLayout,它工作正常。但是,問題是我不能在同一位置開始每行的第二列(沒有硬編碼)。

請幫助我如何確保TextView的內容不會被切斷。

這裏是例如上面給出的screenshot視圖。

+1

附加屏幕截圖 – Rahul

+0

我已經附上截圖了。請立即檢查。 –

+0

什麼是TableRow的寬度和高度?我試過你的代碼,它對我的​​工作很好 – Rahul

回答

1

試試這個代碼,並適合所有設備

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@color/bgcolor" 
android:background="#ffffff" 
android:orientation="horizontal" 
android:padding="10dip" > 

<LinearLayout 
    android:id="@+id/llAvailableBookings" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center|top" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="25dip" 
     android:gravity="center" 
     android:textSize="24.5sp" 
     android:visibility="gone" /> 

    <TableLayout 
     android:id="@+id/tableLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:stretchColumns="*" > 

     <TableRow> 

      <TextView 
       android:id="@+id/visitation_notes" 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:text="Notes" /> 

      <TextView 
       android:id="@+id/visitation_notes_value" 
       android:layout_width="1dp" 
       android:layout_height="wrap_content" 
       android:singleLine="false" 
       android:text="Need to visit again. Visit till the doctor understands the importance of the Test. The problem is, it is very difficult to get appointment for the visit. Still, we need to keep trying till the point reaches to him/her." 
       android:textAlignment="viewStart" /> 
     </TableRow> 
    </TableLayout> 
</LinearLayout> 
+0

感謝您的回覆。但是,不是singleLine已棄用?此外,如果可以完成,我寧願不要硬編碼0dp和1dp視圖寬度。無論如何,我嘗試了上述代碼,並且視圖看起來不太好。每行幾乎沒有一個字。 –

+0

您正在使用哪種設備進行仿真? – HsRaja

+0

我使用的是Nexus 4.它有什麼區別? –

1

做這個

<TableRow> 


    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="Note" /> 

    <TextView 
     android:layout_weight="3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:ems="10" 
     android:text="Need to visit again. Visit till the doctor understands the importance of the Test. The problem is, it is very difficult to get appointment for the visit. Still, we need to keep trying till the point reaches to him/her." /> 


</TableRow> 
+0

謝謝你的幫助。它確實有效。但是,請幫助我爲什麼它有效。據我所知,'layout_weight'屬性可以幫助我們在確定每個'View'在'LinearLayout'中佔用多少空間之後劃分剩餘空間。我不明白這是如何工作的,當我們設置'layout_width = wrap_content'並且內容大小超過了屏幕大小以防'TextView'。 –

+0

您可以使用ems屬性調整大小。如果你設置width = 0dp,它仍然可以工作,但你必須管理layout_weight值。 –

+0

您可以使用ems修復textview的寬度。 –

0

我得到了截斷TextView用下面的代碼解決了TableRow元素的問題裏面:

<TableRow> 

    <TextView 
     android:layout_gravity="right" 
     android:text="Address: " 
     android:textStyle="bold"/> 

    <TextView 
     android:id="@+id/address" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:paddingRight="10dp" 
     android:text="123 W. Abc St., San Diego CA 90333"/> 

</TableRow>