2011-08-20 7 views
2

Est-il possible de fusionner deux mises en page en une seule. Supposons que j'ai deux TextView de nom d'utilisateur et mot de passe dans la première mise en page verticalement et deux EditText dans la deuxième mise en page verticalement. Après avoir fusionné cette mise en page, la mise en page finale contiendra deux lignes de TextView et EditText. Oh une chose à gauche est que lors de la fusion de la première mise en page, déplacez-vous de gauche à droite et la deuxième mise en page se déplacera de droite à gauche.Fusionner deux mises en page en une

Répondre

1

Vous avez la possibilité de le faire en utilisant TranslateAnimation. En appliquant Animation, il semble que deux agencements fusionnent et en font un. J'espère que le code suivant vous aidera.

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);