我正在开发一个需要广泛处理动画的应用程序。我的问题是,我通过Java向RelativeLayout添加了一些ImageView。但接下来,当我尝试添加另一个 ImageView 应用规则如 BELOW、ALIGN_LEFT 等相对于之前添加的 View 时,这些图像不会显示。这很烦人:(主要是,我的问题是,这些规则(LEFT、RIGHT_OF、BELOW 等)对于已经动态添加的 View 是否有效?
最佳答案
问:这些规则(LEFT、RIGHT_OF、BELOW 等)是否适用于已动态添加的 View
答:是的,他们做了很多工作。示例代码
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,然后给出您想要为该 View 添加的任何规则。
关于java - 动态添加 View 到RelativeLayout不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43475072/