java - 动态添加 View 到RelativeLayout不起作用

标签 java android imageview android-relativelayout

我正在开发一个需要广泛处理动画的应用程序。我的问题是,我通过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/

相关文章:

android - React Native(Android)检测远程视频网址上​​存在声音

java - 我可以更改 Freemarker 中的默认变量定界符吗?

java - TFS 无法从 Ant/JUnit 构建中找到单元测试结果

java - JSF : Invoke method on returned object of a method

android - 如何在具有 Android>4.0 和硬件按钮的设备上设置操作溢出菜单中的文本样式?

安卓工作室 : Bitmap to ImageView Error

java - 为什么未填充此数组?

SignalR 的 Android 客户端不接收但 JS 接收

android - 如何创建多个上下文菜单?

android - ImageView 在另一个 ImageView 之上