2 csh 34 csh_34 于 2013.04.17 09:25 提问

TableRow 中的 addView() 如何运行?

我使用的下面的代码:

private void addSnapPictureRow(TableLayout table, Bitmap bitmap) {
        /*
         * 1st row = TextView (Check In)
         */
        TableRow row = new TableRow(this);  
        row.setGravity(Gravity.CENTER_HORIZONTAL);
        // add text
        TextView text = new TextView(this);
        text.setText("Snap Picture");
        TableRow.LayoutParams textLayoutParams = new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT);
        textLayoutParams.setMargins(100, 0, 0, 0);
        row.addView(text, textLayoutParams);

        // add picture
        ImageView picture = new ImageView(this);
        picture.setImageResource(R.drawable.adium);
        row.addView(picture);

        /*
         * 2nd row = View (separator)
         */
        TableRow separator = new TableRow(this);
        View line = new View(this);
        TableRow.LayoutParams separatorLayoutParams = new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, 1);
        separatorLayoutParams.setMargins(100, 0, 0, 0);
        line.setBackgroundColor(Color.BLUE);
        separator.addView(line, separatorLayoutParams);

        // add row to table
        table.addView(row);
        // add a separator
        table.addView(separator);
    }

但是图像并没有出现,如果我把 gravity 改成CENTER_HORIZONTAL,但是只显示图像的一部分:
CSDN移动问答

当使用xml创建表格时,我以为它会自动的水平对齐。我不知道TableRow layout是如何运行。请大家指点一二。

Csdn user default icon
上传中...
上传图片
插入图片