TableLayout不缩小所有图像

时间:2011-09-30 22:22:02

标签: android tablelayout

我正在尝试创建一个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);

enter image description here

http://dl.dropbox.com/u/3340490/device-2011-10-01-002223.png

3 个答案:

答案 0 :(得分:0)

我打赌你,你的TableView在一个LinearLayout或者什么东西不会溢出可用的屏幕 - 所以最后的视图缩小到让所有东西都适合那里 - 也许......你能确保你的TableView在ScrollView,看看是否会发生这种情况?

-serkan

答案 1 :(得分:0)

如果您已将Margin或padding给作为TableLayout的父级的外部布局,则设置它。 它有时会发生,因为你给了TableLayout的Parent布局一些marginn和一些填充。 希望它会对你有所帮助。 感谢。

答案 2 :(得分:0)

最终我使用权重设置为1的LinearLayout自动调整屏幕大小。 Tablayout在调整图像方面效果不佳。