Please look at the following image to understand the problem:

As you can see, there is a RelativeLayout that contains custom View and LinearLayout .
Between them there is another View for which Visibility set to GONE . Now, when I click the Button , I would like to change the visibility of this GONE View to VISIBLE and rebuild the RelativeLayout so that the third View will be between the custom View and LinearLayout . When I press another button, I would like to make the third look GONE again. How can i achieve this?
Here is my XML:
<view android:id="@+id/CanvasView" android:layout_width="200dp" android:layout_height="40dp" android:layout_above="@+id/HorizontalScrollView" android:layout_centerHorizontal="true" android:layout_margin="0dp" android:layout_marginBottom="0dp" android:layout_marginTop="0dp" class="com.example.CanvasView" android:orientation="vertical" /> <HorizontalScrollView android:id="@+id/HorizontalScrollView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@+id/linearLayout2" android:clickable="false" android:focusable="false" android:focusableInTouchMode="false" android:visibility="gone" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="false" android:focusable="false" android:focusableInTouchMode="false" android:orientation="horizontal" > //SOME BUTTONS HERE </LinearLayout> </HorizontalScrollView> <LinearLayout android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_marginTop="5dp" > <Button android:id="@+id/button1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical|center_horizontal" android:layout_weight="0.4" android:maxWidth="200dp" android:text="Clear" android:textColor="@android:color/white" android:textSize="20sp" /> <Button android:id="@+id/settingsButton" android:layout_width="44dp" android:layout_height="44dp" android:layout_gravity="center_vertical|center_horizontal" android:background="@drawable/settings_button_selector" /> <Button android:id="@+id/button2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center_vertical|center_horizontal" android:layout_weight="0.4" android:enabled="false" android:maxWidth="200dp" android:text="Recognize" android:textColor="@android:color/white" android:textSize="20sp" /> </LinearLayout>
If I set only one of the values โโof the third view in the OnClick () method, it will appear above LinearLayout and impose a custom view on it (I tried it before). In other words, it will not move the RelativeLayout up.
source share