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 不然,會白費工夫!
沒有留言:
張貼留言