[英]Android-add same relativelayout below the other programmatically on button click
我有一个片段,其中有一个按钮,单击时必须在其他下方添加相对布局。 多次单击该按钮时,必须在前一个按钮下方添加相同的布局。
在hotel_search.xml
当与该按钮id(@+id/addroom)
被点击在布局hotel_room_fragment
必须在低于被添加RelativeLayout
ID为@+id/roomlayout
并再次,如果它被点击在相同的布局hotel_room_fragment
必须包括在之前添加的一个之下。
另请告诉我如何在单击关闭按钮时删除布局。
hotel_search.xml:
<RelativeLayout
android:id="@+id/roomlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent">
<TextView
android:id="@+id/rooms"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/adults"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/rooms"
android:layout_toEndOf="@+id/button3"
android:layout_toRightOf="@+id/button3"
android:text="Adults"
android:textColor="#BDBDBD" />
<Button
android:id="@+id/button3"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_below="@+id/adults"
android:layout_marginLeft="18dp"
android:layout_marginStart="18dp"
android:layout_marginTop="10dp"
android:layout_toEndOf="@+id/rooms"
android:layout_toRightOf="@+id/rooms"
android:background="#90006064"
android:text="-"
android:textColor="#fff"
android:textSize="22sp" />
<Button
android:id="@+id/button4"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignLeft="@+id/adults"
android:layout_alignStart="@+id/adults"
android:layout_alignTop="@+id/button3"
android:layout_marginLeft="37dp"
android:layout_marginStart="37dp"
android:background="#90006064"
android:text="+"
android:textColor="#fff"
android:textSize="18sp" />
<TextView
android:id="@+id/children"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/button3"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginEnd="38dp"
android:layout_marginRight="38dp"
android:text="Children"
android:textColor="#BDBDBD" />
<Button
android:id="@+id/button6"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginEnd="13dp"
android:layout_marginRight="13dp"
android:background="#90006064"
android:text="+"
android:textColor="#fff"
android:textSize="18sp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<Button
android:id="@+id/button5"
android:layout_width="30dp"
android:layout_height="30dp"
android:background="#90006064"
android:text="-"
android:textColor="#fff"
android:textSize="22sp"
android:layout_alignParentBottom="true"
android:layout_toLeftOf="@+id/button6"
android:layout_toStartOf="@+id/button6"
android:layout_marginRight="41dp"
android:layout_marginEnd="41dp" />
</RelativeLayout>
<View
android:id="@+id/view3"
android:layout_width="100dp"
android:layout_height="0.5dp"
android:layout_marginTop="20dp"
android:background="#00838F"
android:foregroundGravity="center"
android:layout_below="@+id/scrollView"
android:layout_toRightOf="@+id/checkin"
android:layout_toEndOf="@+id/checkin"></View>
<Button
android:layout_width="wrap_content"
android:layout_height="30dp"
android:text="Add Room"
android:id="@+id/addroom"
android:textColor="#fff"
android:layout_marginLeft="20dp"
android:background="#50000000"
android:layout_marginTop="20dp"
android:layout_below="@+id/view3"/>
hotel_room_fragment.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/roomlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent">
<TextView
android:id="@+id/rooms"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/adults"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/rooms"
android:layout_toEndOf="@+id/button3"
android:layout_toRightOf="@+id/button3"
android:text="Adults"
android:textColor="#BDBDBD" />
<Button
android:id="@+id/button3"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_below="@+id/adults"
android:layout_marginLeft="18dp"
android:layout_marginStart="18dp"
android:layout_marginTop="10dp"
android:layout_toEndOf="@+id/rooms"
android:layout_toRightOf="@+id/rooms"
android:background="#90006064"
android:text="-"
android:textColor="#fff"
android:textSize="22sp" />
<Button
android:id="@+id/button4"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignLeft="@+id/adults"
android:layout_alignStart="@+id/adults"
android:layout_alignTop="@+id/button3"
android:layout_marginLeft="37dp"
android:layout_marginStart="37dp"
android:background="#90006064"
android:text="+"
android:textColor="#fff"
android:textSize="18sp" />
<TextView
android:id="@+id/children"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/button3"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginEnd="38dp"
android:layout_marginRight="38dp"
android:text="Children"
android:textColor="#BDBDBD" />
<Button
android:id="@+id/button6"
android:layout_width="30dp"
android:layout_height="30dp"
android:background="#90006064"
android:text="+"
android:textColor="#fff"
android:textSize="18sp"
android:layout_marginRight="13dp"
android:layout_marginEnd="13dp"
android:layout_alignTop="@+id/button5"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<Button
android:id="@+id/button5"
android:layout_width="30dp"
android:layout_height="30dp"
android:background="#90006064"
android:text="-"
android:textColor="#fff"
android:textSize="22sp"
android:layout_alignTop="@+id/button4"
android:layout_toLeftOf="@+id/children"
android:layout_toStartOf="@+id/children" />
</RelativeLayout>
我同意Bona Fide你应该使用listView / RecyclerView来指出这一点。
无论如何,在你的onClick方法中,你创建一个新的RelativeLayout()调用setID()与一些随机int(你不能使用硬编码),然后将它存储在类字段,如private int lastId;
完成后,在LayoutParams.addRule()调用中,将R.id.roomlayout替换为lastId字段。
希望你明白了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.