2016-05-26 72 views
1

將文本視圖添加到行,從而將行添加到表格佈局。但該行從屏幕上切下。表格行中的TextView不適合屏幕尺寸

TextView point = new TextView(activity); 
    TextView time = new TextView(activity); 
    point.setTextSize(15); 
    time.setTextSize(15); 
    point.setPadding(5, 5, 5, 5); 
    time.setPadding(5, 5, 5, 5); 
    point.setText("smthing something") 
    time.setText("smthing smthing") 
    row.addView(point); 
    row.addView(time); 
    tableLayout.addView(row); 

如何包裝行中的textview,使行被包裹在屏幕本身..?

回答

0
TextView point = new TextView(activity); 
    TextView time = new TextView(activity); 
    LayoutParams layoutParams = new TableRow.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 
    point.setLayoutParams(layoutParams); 
    time.setLayoutParams(layoutParams); 
    point.setTextSize(15); 
    time.setTextSize(15); 
    point.setPadding(5, 5, 5, 5); 
    time.setPadding(5, 5, 5, 5); 
    point.setText("smthing something") 
    time.setText("smthing smthing") 
    row.addView(point); 
    row.addView(time); 
    tableLayout.addView(row); 
1

設置你的textView高度wrap_content。

point.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
+0

感謝穆克什,即解決了大多數我的問題的一部分。 :) – lancer025

0

謝謝穆克什,這解決了我的問題的大部分部分。 :)穿過屏幕的文字被包裹在屏幕內。 由於我的第一列包含長文本,第二列有短文本。所以第一列必須適合多行和第二列單行。 (設置textview單行或多行沒有幫助)

所以我做了通過添加收縮列到我的'0th'和拉列到我的'1st'。這解決了我的整個問題,並且現在也不需要設置佈局參數。

XML表格佈局:

<TableLayout 
android:id="@+id/route_table" 
android:layout_width="match_parent" 
android:shrinkColumns="0" 
android:padding="5dp" 
android:stretchColumns="1"> 

<TableRow android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:id="@+id/row1"> 

<TextView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/stop" 
android:background="@drawable/table_row" 
android:padding="10dp" 
android:text="Stop: "/> 
<TextView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/time" 
android:layout_gravity="right" 
android:background="@drawable/table_row" 
android:padding="10dp" 
android:text="Time: "/> 
</TableLayout> 

`