Объединить два макета в один - PullRequest
2 голосов
/ 20 августа 2011

Возможно ли объединить два макета в один.Предположим, у меня есть два TextView с именем пользователя и паролем в первом макете по вертикали и два EditText во втором макете по вертикали.После слияния этих двух макетов окончательный макет будет содержать две строки TextView и EditText.

О, остается только одно: при объединении первый макет перемещается слева направо, а второй макет - справа налево.

1 Ответ

1 голос
/ 20 августа 2011

Вы можете сделать это, применив 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);
...