在LinearLayout中移动布局



我正在尝试更改垂直线性布局中相对布局的位置。相对布局首先应该是不可见/消失的,但当我按下按钮1时,它应该在按钮1和按钮2之间。我的container_input包含一些seekBars和textView,我用它们来更改一些值。

我试图通过这样做来存档:

XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/Layout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical"
android:padding="5dp" >
<Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Button"/>
<Button
    android:id="@+id/button2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Button"/>
<Button
    android:id="@+id/button3"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Button"/>
<include
    android:id="@+id/container_input_ref"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    layout="@layout/container_input" />
</LinearLayout>

Java代码:

int selected = 0;
public void onClick(final View view)
{        
 if(view == button1)
 {
  selected = 1;
  container_input_ref.setVisibility(view.VISIBLE);
  container_input_ref.setY(button1.getBottom());
  button2.setY(container_input_ref.getBottom());
  button3.setY(button2.getBottom());
 }
 if(view == button2)
 {
  selected = 2;
  container_input_ref.setVisibility(view.VISIBLE);
  container_input_ref.setY(button2.getBottom());
  button3.setY(container_input_ref.getBottom());
 }
 etc. ...
}

但如果我按下按钮1,布局就不是我应该得到的。

有人知道如何在单击时移动布局/按钮吗?

问候

您可以这样做来更改视图的位置:

layout1.removeView(container_input_ref)
layout1.addView(container_input_ref, index)

其中index将是容器的新位置

最新更新