繁体   English   中英

Android - 在按钮点击时以编程方式添加相同的relativelayout

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM