我正在尝试创建一个8x5图像表:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TableLayout table = new TableLayout(this);
table.setStretchAllColumns(true);
table.setShrinkAllColumns(true);
for(int i = 0; i < 6; i++){
TableRow card = new TableRow(this);
card.setGravity(Gravity.CENTER);
for(int j = 0; j < 5; j++){
TableRow.LayoutParams paramsCard = new TableRow.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
paramsCard.setMargins(CARDS_MARGIN,CARDS_MARGIN,CARDS_MARGIN,CARDS_MARGIN);
ImageView imgCard = new ImageView(this);
imgCard.setImageResource(R.drawable.dos);
imgCard.setLayoutParams(paramsCard);
card.addView(imgCard);
}
table.addView(card);
}
setContentView(table);
table.setBackgroundDrawable(getResources().getDrawable(R.drawable.background));
}
但是在最后一行我得到的图像更小,为什么?我显然已经设定了
table.setStretchAllColumns(true);
table.setShrinkAllColumns(true);
http://dl.dropbox.com/u/3340490/device-2011-10-01-002223.png
答案 0 :(得分:0)
我打赌你,你的TableView在一个LinearLayout或者什么东西不会溢出可用的屏幕 - 所以最后的视图缩小到让所有东西都适合那里 - 也许......你能确保你的TableView在ScrollView,看看是否会发生这种情况?
-serkan
答案 1 :(得分:0)
如果您已将Margin或padding给作为TableLayout的父级的外部布局,则设置它。 它有时会发生,因为你给了TableLayout的Parent布局一些marginn和一些填充。 希望它会对你有所帮助。 感谢。
答案 2 :(得分:0)
最终我使用权重设置为1的LinearLayout自动调整屏幕大小。 Tablayout在调整图像方面效果不佳。