将两个布局合并为一个

时间:2011-08-20 16:17:08

标签: android android-edittext textview

是否可以将两个布局合并为一个。假设我在垂直的第一个布局中有两个用户名和密码的TextView,在垂直的第二个布局中有两个EditText。合并这两个布局后,最终布局将包含两行TextView和EditText。

哦剩下的一件事是当合并第一个布局从左向右移动而第二个布局将从右向左移动时。

1 个答案:

答案 0 :(得分:1)

您可以通过应用TranslateAnimation来执行此操作。应用动画似乎两个布局正在合并并制作一个。希望以下代码能为您提供帮助。

... layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
 >
<Button
android:id="@+id/btn1"
android:text="Button 1"
android:layout_width="fill_parent" 
android:layout_height="45dip" 
android:layout_marginTop="10dip"
/>

<Button
android:id="@+id/btn2"
android:text="Button 2"
android:layout_width="fill_parent" 
android:layout_height="45dip"
android:layout_marginTop="10dip" />

<Button
android:id="@+id/btn3"
android:text="Button 3"
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="10dip"
/>

<Button
android:id="@+id/btn4"
android:text="Button 4"
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_marginTop="10dip"
/>

MyActivity.java

    Button b1, b2, b3, b4;
    TranslateAnimation left, right;

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    left = new TranslateAnimation(-480, 10, 0, 10);
    right= new TranslateAnimation( 480, 10, 0, 10);

    left.setDuration(2000);
    right.setDuration(2000);

    left.setRepeatCount( 1 );
    right.setRepeatCount( 1 );

    b1 =(Button)findViewById( R.id.btn1);
    b2 =(Button)findViewById( R.id.btn2);
    b3 =(Button)findViewById( R.id.btn3);
    b4 =(Button)findViewById( R.id.btn4);

    b1.startAnimation(left);
    b2.startAnimation(right);
    b3.startAnimation(left);
    b4.startAnimation(right);