程序化RelativeLayout

时间:2011-02-15 18:37:03

标签: java android

我正在尝试以编程方式添加几个从TextViews扩展到RelativeLayout的Tiles。

我的代码如下。

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

for (int i = 0; i < characters.length; i++) {
    Tile tile = new Tile(this);
    tile.setText(Character.toString(characters[i]));
    tile.setId(i);
    if (i != 0) {
        params.addRule(RelativeLayout.RIGHT_OF, i - 1);
    }
    _display.addView(tile, params);
}

所以我正在创建一个名为LayoutParams的新params实例类,并添加一条规则来将每个图块对齐到前一个图块的右侧。当我运行应用程序时,看起来瓷砖彼此重叠。有什么建议吗?

1 个答案:

答案 0 :(得分:5)

您不能为每个视图重用相同的LayoutParams对象。你需要每次都创建一个新的。