2016-04-07 4 views
-2

Ich habe LinearLayout1, LinearLayout2 und eine Button in MainActivity. Wenn ich auf die Button klicke, möchte ich von LinearLayout1 zu LinearLayout2 springen. Wie kann ich das machen?So verschieben Sie eine Ansicht von einer ViewGroup in eine andere

+0

Überprüfen Sie die 'RemoveView out()' und 'addView()' 'Methoden der ViewGroup', davon ist ein 'LinearLayout' eine Unterklasse. –

Antwort

-1

können Sie verstecken und das eine oder andere zeigen, zum Beispiel:

LinearLayout mLinearLayout1 = (LinearLayout) findViewById(R.id.linearlayout_1); 
LinearLayout mLinearLayout2 = (LinearLayout) findViewById(R.id.linearlayout_1); 

mLinearLayout1.setVisibility(View.GONE); 
mLinearLayout2.setVisibility(View.VISIBLE); 

Aber wenn Sie eine verbergen einige Ansichten mit diifferent Verhalten zeigen wollen, empfehle ich Ihnen Fragmente verwenden.

+0

Was ist, wenn ich andere Elemente in diesem Layout habe? Ich möchte, dass es nur für diesen speziellen Knopf passiert – behking

0

Sie können wie folgt tun:

LinearLayout mLinearLayout1 = (LinearLayout)findViewById(R.id.linearlayout_1); 
LinearLayout mLinearLayout2 = (LinearLayout)findViewById(R.id.linearlayout_1); 
Button button1 = (Button) findViewById(R.id.button1); 

button1.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
     mLinearLayout1.setVisibility(View.GONE); 
     mLinearLayout2.setVisibility(View.VISIBLE); 

     } 
    }); 
0

Da ich nicht weniger Ruf mit Kommentar bin erlaubt, so meine Eingabe als Antwort zu schreiben. Bitte nicht aus diesem Grund.

Nicht sehr klar, was und warum möchten Sie, was in der Beschreibung geschrieben wird.

Wenn Sie eines der vielen verschiedenen Ansichten (nicht LinearLayouts) auf die Haupttätigkeit direkt angezeigt werden (kann von einer Bedingung abhängig oder einem Zustand, Motor oder zeitbasierte Intervall), wahrscheinlich können Sie ViewFlipper verwenden.

0

Dank an euch alle speziell Mike M ich meine Antwort mit:

public class MainActivity extends AppCompatActivity { 
private Button button; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    button = (Button) findViewById(R.id.button); 

    final LinearLayout mLinearLayout1 = (LinearLayout)findViewById(R.id.liner1); 
    final LinearLayout mLinearLayout2 = (LinearLayout)findViewById(R.id.liner2); 
    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      mLinearLayout1.removeView(button); 
      mLinearLayout2.addView(button); 


       } 
    }); 
} 

}

Verwandte Themen