LayoutParams不起作用

时间:2017-08-07 11:00:43

标签: java android layoutparams

我正在编写一个以编程方式生成所有布局的应用程序。我希望根据它们的索引放置一个ImageView[]数组。但看起来LayoutParams没有做任何事情,因为所有ImageView都是叠加的。这是我正在使用的代码:

for (int i=0; i<tiles; i++){
        Log.i("Setting up tile", "#" + i);
        tileParams.removeRule(RelativeLayout.ALIGN_PARENT_TOP);
        tileParams.removeRule(RelativeLayout.ALIGN_PARENT_START);
        tileParams.removeRule(RelativeLayout.BELOW);
        tileParams.removeRule(RelativeLayout.RIGHT_OF);
        if (((double)i/columns) == Math.round(i/columns)){
            if (i == 0){
                tileParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
                tileParams.addRule(RelativeLayout.ALIGN_PARENT_START);
            } else {
                tileParams.addRule(RelativeLayout.BELOW, tileView[i-columns].getId());
                tileParams.addRule(RelativeLayout.ALIGN_PARENT_START);
            }
        } else {
            tileParams.addRule(RelativeLayout.RIGHT_OF, tileView[i-1].getId());
        }
        tileView[i].setLayoutParams(tileParams);
        grid.addView(tileView[i]);
}

在这里,&#34;网格&#34;是RelativeLayout和&#34; tileParams&#34;是RelativeLayout.LayoutParams

PS:我知道if  方法在所需时间正确使用,ImageView使用iv.setId(View.generateViewId())设置其ID。

0 个答案:

没有答案