TableLayout 不缩小所有图像

发布于 12-07 15:06 字数 1382 浏览 1 评论 0原文

我试图创建一个 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

I am trying to to create a table of 8x5 images as:

 @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));
}

But in the last row I get the images smaller, why? I apparently set

    table.setStretchAllColumns(true);
    table.setShrinkAllColumns(true);

enter image description here

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

烟柳画桥2024-12-14 15:06:05

我敢打赌,你的 TableView 位于 LinearLayout 或不会溢出可用屏幕的东西中 - 因此最后一个视图会缩小以容纳所有内容 - 也许......你能确保你的 TableView 位于 ScrollView 中并且看看是否会发生这种情况?

-塞尔坎

I bet you, your TableView is in a LinearLayout or something which wouldn't overflow of the available screen - so the last views are shrunk to have everything fit in there - maybe... Can you make sure your TableView is in a ScrollView and see if this happens?

-serkan

浊酒尽余欢2024-12-14 15:06:05

如果您已为 TableLayout 的父级外部布局指定了 Margin 或 padding,则进行设置。
有时会发生这种情况,只是因为您为 TableLayout 的父布局提供了一些边距和一些填充。
希望它能帮助你。
谢谢。

If u have given the Margin or padding to the Outer Layout which is parent of the TableLayout, then set it.
It will happend sometimes just because u have given some marginn and some padding to the Parent layout of the TableLayout.
Hope it will help you.
Thanks.

如梦2024-12-14 15:06:05

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

Eventually I use a LinearLayout with the weigths set to 1 to auto adjust to the screen size. TableLayout doesnt work very well at adjusting images.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文