嗨,我遇到了RelativeLayout的问题。我们的想法是在屏幕顶部的XML代码中定义一个标题栏,然后在左边的这个栏下面添加一个textview元素,但是当我在java代码中添加这个TextView时,它总是显示在左上角显示(表示它在标题栏上设置)。谁知道我做错了什么?
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/main">
<Button
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</RelativeLayout>
</ScrollView>
RelativeLayout rl = (RelativeLayout) this.findViewById(R.id.main);
for (int i=0; i<=5; i++) {
TextView tv = new TextView(this);
tv.setId(i);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT );
if (i == 0)
params.addRule(RelativeLayout.BELOW, R.id.title);
else
params.addRule(RelativeLayout.BELOW, i-1);
rl.addView(tv, params);
}
答案 0 :(得分:0)
我认为你必须在textview中添加一个ID,即使你不必引用它。您还可以在一次调用中添加View并设置参数:
tv.setId(123);
params.addRule(RelativeLayout.BELOW, R.id.title);
rl.addView(tv, params);