2011年4月7日 星期四

如何動態設定 height in tablerow

Android 程式開發中用 TableRow 來製作 UI 是一個不錯的選擇。
只是要好好研讀 API 就是了。

在開發中,有一個問題一值無法解決。就是動態設定 TableRow 的 Height.

原始碼如下:

TableLayout table = new TableLayout(this);
table.setBackgroundResource(R.drawable.bg);
table.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));


TableRow.LayoutParams lp_tr = new TableRow.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, 1);


TableRow tr = new TableRow(this);
table.addView(tr);
tr.setLayoutParams(lp_tr);


tr.setGravity(Gravity.BOTTOM);


Resources res = getResources();
Bitmap bmp = null;


LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);


bmp = BitmapFactory.decodeResource(res, R.drawable.XX);
ImageView v1 = new ImageView(this);
v1.setImageBitmap(bmp);
tr.addView(v1);


HorizontalScrollView scrollview = new HorizontalScrollView(this);
scrollview.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT, 1));
scrollview.addView(table);
this.setContentView(scrollview);


其中,黃色的部份很重要(先後順序),要先 AddView 再設定 LayoutParams 不然,會白費工夫!

沒有留言:

張貼留言