2012-03-28 8 views
0

Ich möchte keine neue Aktivität erstellen. Genau wie das Beispiel dieses Gentleman (http://www.youtube.com/watch?v=V6AdmCIe4Ik), aber ich möchte dies auf LinearLayout implementieren, indem ich Button anstelle von main verwende.Wie zeige ich eine andere Schaltfläche durch Klicken auf eine Schaltfläche?

Sagen Sie auf dem Video um 00:44 Benutzer klickt auf eine Schaltfläche, die auf res/layout/activity1.xml angegeben ist und Sub-Taste zeigt um 00:47.

Er implementiert es mit Menü und Erstellen eines Unterordners (Menü) unter res statt Layout verwenden.

Was ich gerne tun würde, ist, dass, sobald Benutzer auf einen Button auf LineareLayout deklariert wird, zeigt es eine andere Schaltfläche wie 00:47 auf dem Video.

Antwort

0

Mit einer sehr einfachen XML-Datei:

<LinearLayout 
    android:orientation="vertical" 
    android:layout_height="match_parent" 
    android:layout_width="match_parent" 
    android:animateLayoutChanges="true"> 

    <Button 
    android:id="@+id/button1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="button1" /> 

    <Button 
    android:id="@+id/button2" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:text="button2" 
    android:visibility="gone" /> 

</LinearLayout> 

dann in Code, legen Sie den Hörer für button1 wie folgt:

private Button button1; 
private Button button2; 

protected void onCreate(Bundle savedInstanceState) { 
    setContentView(R.layout.activity1); 
    button1 = findViewById(R.id.button1); 
    button2 = findViewById(R.id.button2); 

    button1.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 
     button2.setVisibility(View.VISIBLE); 
    } 
    }); 
} 

Dieses Codebeispiel den Ereignis-Listener für die erste Schaltfläche einrichtet und wenn Sie darauf klicken, ändert sich die Sichtbarkeit der Schaltfläche von "weg" (was bedeutet, dass sie keinen Platz im Layout einnimmt und unsichtbar ist) in Sichtbar, was der normale Zustand ist.

+0

Ja ... das funktioniert, aber der Übergang ist nicht so glatt. Auch der 2. Button sollte erst nach dem Klick auf den 1. Button zu sehen sein. – user1296153

+0

Verstanden, deshalb setze ich die Sichtbarkeit in XML auf "weg". Was die Übergangseffizienz betrifft, wird dies leicht erreicht, indem die Elternansicht Layoutänderungen animiert. Aktualisierung oben um zu empfangen. – JRaymond

+0

Können Sie einige Beispiele veröffentlichen? Ich folge nicht ganz ... – user1296153

Verwandte Themen