我想動態地將textview添加到textView的右側,但textView沒有得到顯示。Textview沒有得到顯示在右邊另一個textView編程方式在android
聲明「params2.addRule(RelativeLayout.RIGHT_OF,1);」在下面的代碼是創建一個問題,如果我刪除該行textview顯示在隨機位置。
需要實現這個XML動態
<TextView
android:id="@+id/stationnameVal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="KANYAKUMARI (CAPE)"
android:textColor="@color/black"
android:textSize="12sp" />
<TextView
android:id="@+id/arrivaltimeVal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="45dp"
android:layout_toRightOf="@+id/stationnameVal"
android:text="SRC"
android:textColor="@color/black"
android:textSize="12sp" />
代碼是:
RelativeLayout rel = new RelativeLayout(this);
// first TextView
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
TextView stateName = new TextView(DisplayActivity.this);
stateName.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
params.setMargins(0, 5, 0, 0);
stateName.setText("KANYAKUMARI (CAPE)");
stateName.setId(1);
stateName.setTextColor(R.color.black);
stateName.setTextSize(12);
rel.addView(stateName, params);
// Adding Second TextView
RelativeLayout.LayoutParams params2 = new RelativeLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
TextView arr = new TextView(DisplayActivity.this);
arr.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
arr.setText("SRC");
arr.setTextColor(R.color.white);
arr.setTextSize(12);
params2.addRule(RelativeLayout.ALIGN_PARENT_TOP, stateName.getId());
params2.addRule(RelativeLayout.RIGHT_OF, 1);
params2.setMargins(45, 0, 0, 0);
rel.addView(arr, params2);
其實我好奇的東西。是否有可能使兩個TextView都使用RelativeLayout來填充可用空間。使用LinearLayout,將使用'layout_weight。但是關於相對佈局的idk。 – Andy 2012-08-17 07:37:19
@你可以使用Display Metrics來查找屏幕大小(在你的情況下是寬度),並將textView的寬度設置爲tv.setWidth(width/2);對於textViews – 2012-08-17 07:39:05
嗯,這可以工作。不是一個壞主意。對於4或5個視圖是否能正確工作?均勻地分割空間可行,但奇數又如何? – Andy 2012-08-17 07:47:04