gpt4 book ai didi

java - 在 java 代码中设置 RelativeLayout

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:02:58 26 4
gpt4 key购买 nike

我很难让两个 TextView 在我的 Java 代码中出现在彼此之上。这是我正在试验的代码:

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);

layout = new RelativeLayout(this);
text1 = new TextView(this);
text1.setText("1");
text2 = new TextView(this);
text2.setText("2");

RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
RelativeLayout.LayoutParams q = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT);

q.addRule(RelativeLayout.BELOW, layout.getId());
text1.setLayoutParams(q);
layout.addView(text1);


p.addRule(RelativeLayout.BELOW,text1.getId());
text2.setLayoutParams(p);
layout.addView(text2);

setContentView(layout);
}

这会将两个 TextView 堆叠在同一行上,但我希望 TextView text2 出现在 TextView text1 下方,因此在我的应用程序中,我希望以下内容作为输出出现:

1
2

我已经用“addRule”方法尝试了各种方法,我不确定为什么它不起作用。我想知道如何在没有 XML 的情况下执行此操作,因为我计划构建一个方法库,该方法库可以构建可通过编辑数组轻松调整的布局。

最佳答案

您的 TextViews 没有 id(默认情况下 id 是 -1)...在初始化之后放置它:

text1.setId(1111); // 1111 is just an example,
text2.setId(2222); // just make sure the id are unique

关于java - 在 java 代码中设置 RelativeLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5327144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com