将视图动态添加到 RelativeLayout 不起作用

Adding View dynamically to RelativeLayout not working

我正在开发一个需要大量使用动画的应用程序。我的问题是,我通过 Java 向我的 RelativeLayout 添加了一些 ImageView。但接下来,当我尝试添加另一个 ImageView 应用规则,如 BELOW,ALIGN_LEFT 等关于以前添加的视图时,这些图像不会显示。这很烦人 :( 主要是,我的问题是,这些规则(左、RIGHT_OF、下方等)是否适用于已经动态添加的视图?

问:这些规则(左侧、RIGHT_OF、下方等)是否适用于已动态添加的视图

答案:是的,他们做了很多工作。示例代码

RelativeLayout rLayout = (RelativeLayout) findViewById(R.id.rlayout);
RelativeLayout.LayoutParams lprams = new RelativeLayout.LayoutParams(
        RelativeLayout.LayoutParams.WRAP_CONTENT,
        RelativeLayout.LayoutParams.WRAP_CONTENT);
Button tv1 = new Button(this);
tv1.setText("Hello");
tv1.setLayoutParams(lprams);
tv1.setId(1);
rLayout.addView(tv1);

// second Button
RelativeLayout.LayoutParams newParams = new RelativeLayout.LayoutParams(
        RelativeLayout.LayoutParams.WRAP_CONTENT,
        RelativeLayout.LayoutParams.WRAP_CONTENT);
Button tv2 = new Button(this);
tv1.setText("Hello2");
newParams.addRule(RelativeLayout.RIGHT_OF, 1);
tv2.setLayoutParams(newParams);
tv2.setId(2);
rLayout.addView(tv2);

您需要设置 ID,然后指定要为该视图添加的任何规则。