将视图动态添加到 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,然后指定要为该视图添加的任何规则。
我正在开发一个需要大量使用动画的应用程序。我的问题是,我通过 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,然后指定要为该视图添加的任何规则。