在LinearLayout中移动布局

时间:2013-12-15 17:53:54

标签: android button android-linearlayout adt move

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

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

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,布局就不像我应该得到的那样。

有没有人知道如何移动布局/按钮OnClick?

问候

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作来更改视图的位置:

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

索引将成为容器的新位置