Java 在相对布局中动态添加组件
我有一个xml结构,比如Java 在相对布局中动态添加组件,java,android,android-layout,Java,Android,Android Layout,我有一个xml结构,比如 <TextView android:id="@+id/txt1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginTop="26d
<TextView
android:id="@+id/txt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="26dp"
android:minWidth="20dp"
android:text="05"
android:background="@drawable/rounded_corners"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/txt2"
style="android:textViewStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="false"
android:layout_alignParentTop="true"
android:layout_marginTop="26dp"
android:layout_toRightOf="@+id/txt1"
android:background="@drawable/rounded_corners"
android:minWidth="20dp"
android:text=""
android:paddingLeft="5dp"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/txt3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="false"
android:layout_alignParentTop="true"
android:layout_marginTop="26dp"
android:layout_toRightOf="@+id/txt2"
android:background="@drawable/rounded_corners"
android:minWidth="20dp"
android:text=""
android:paddingLeft="5dp"
android:textAppearance="?android:attr/textAppearanceMedium" />
...
但我不知道如何设置layout\u alignParentLeft
,layout\u marginTop
,最关心的是layout\u-toRightOf
部分
如果有人能帮我举一个这样的例子,那就太好了……你必须用
RelativeLayout.LayoutParams
添加规则来完成你想要的
像这样的
用于将视图与另一视图的右侧对齐
rel.addRule(RelativeLayout.RIGHT_OF, tv.getId());
用于在父视图中向左对齐视图
rel.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
给利润
rel.setMargins(50, 10, 0, 0);
谢谢你的快速回答。但如果我做了
tv.getId()
它会给我-1和生成id,如果我做了tv.generateWiid()
它仍然不会生成相同的id。原因是两个文本都显示在另一个文本之上。有没有其他办法解决这个问题?
rel.setMargins(50, 10, 0, 0);