2016-07-08 5 views
2

Ich habe zwei Tasten prev und next in eine RelativeLayout platziert. Als ich die letzte Seite meiner App erreichen, bin ich das Deaktivieren der next Taste:Ändern der Tastenausrichtung der Taste A, wenn Taste B GONE ist

next.setVisibility(View.GONE); 

Die Ausrichtung der prev Taste unterbrochen wird. Ich möchte, dass es auf die Mitte des RelativeLayout ausgerichtet ist, als ob es nur einen Knopf gäbe.

Hier ist mein Code:

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="100dp" 
    android:layout_below="@+id/radgroup" 
    > 
    <Button 
     android:layout_marginTop="14dp" 
     android:layout_marginLeft="20dp" 
     android:text="@string/previous" 
     android:textAllCaps="false" 
     android:textSize="23dp" 
     android:layout_width="150dp" 
     android:layout_height="70dp" 
     android:id="@+id/prev" 
     android:onClick="viewPreviousQuestion" 
     /> 
    <Button 
     android:layout_marginTop="14dp" 
     android:layout_marginLeft="20dp" 
     android:text="@string/previous" 
     android:textAllCaps="false" 
     android:textSize="23dp" 
     android:layout_width="150dp" 
     android:layout_height="70dp" 
     android:layout_toRightOf="@+id/prev" 
     android:id="@+id/nxt" 
     android:onClick="viewNextQuestion" 
     /> 

</RelativeLayout> 

und das onClick Ereignis ist

public void viewNextQuestion(View view) { 
    if(currqstn==lastqstn){ 
     next.setVisibility(View.GONE); 
    } 
} 
+0

poste deinen Layoutcode ... –

Antwort

2

kein Relative-Layout hier Verwenden Sie, verwenden Sie stattdessen einen Linear-Layout. Da in einem relativen Layout Ansichten in Bezug zueinander positioniert sind, können beim Entfernen einer Ansicht andere Ansichten, die in Bezug auf die gelöschte Ansicht positioniert wurden, unterbrochen werden.

EDIT

Verwenden Sie die folgenden Attribute für Ihre Ansichten verwenden können: weightSum, Gewicht und Polsterung.

+0

Bekam es, danke .. –

1

Wenn Sie View.Gone seiner Ansicht entfernen Ort und andere Ansichten verwenden, sind disturb

UND

wenn Sie View.Invisible mit seiner immer nur nicht sichtbar ist und andere Ansichten nicht stören.

Verwendung dieses ...........

next.setVisibility(View.Invisible); 

Codierung genießen .....

+0

Aber wenn ich es auf INVISIBLE setze, bleibt die 'prev' Taste an ihrem Platz. Ich will das nicht. Es sollte in der Mitte erscheinen. –

2

Verwenden Linear-Layout sowohl die Tasten im Inneren des Haupt Relative-Layout zur Deckung und und

android:layout_weight="1" 
android:layout_gravity="center_horizontal|center" 

auf Ihre zurück Schaltfläche.

+0

Es hat funktioniert, danke. –

+0

bitte +1 meine antwort, wenn es gut für dich funktioniert. – Saini

+0

Ich habe, aber es zeigt nicht öffentlich, weil mein rep ist unter 15 –