2017-10-13 56 views
0

如何創建三個按鈕,以便只有第一個按鈕出現,一旦它被點擊,它將被替換爲兩個並排按鈕。這些按鈕應居中。Android - 一個按鈕變爲兩個

First button

Two buttons that appear once the entered button is pressed

這是我到目前爲止有:

<Button 
      android:id="@+id/enter_button" 
      android:layout_width="100dp" 
      android:layout_height="50dp" 
      android:padding="5dp" 
      android:text="@string/enter_button" 
      android:textColor="#FFFFFF" /> 


    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/buttons_layout" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:orientation="horizontal" 
     android:padding="30dp" > 

     <Button 
      android:id="@+id/clear_button" 
      android:layout_width="100dp" 
      android:layout_height="50dp" 
      android:text="@string/clear_button" 
      android:textColor="#FFFFFF" /> 

     <Button 
      android:id="@+id/reserve_button" 
      android:layout_width="100dp" 
      android:layout_height="50dp" 
      android:padding="5dp" 
      android:text="@string/reserve_button" 
      android:textColor="#FFFFFF" /> 

    </LinearLayout> 

但這種直接在導致兩個並排側按鈕,出現下面的第一個(不它)。我已經知道如何使用setVisibility使輸入按鈕消失。

+1

'setVisibility()'方法將有很大的幫助 –

回答

0

很簡單。 父元素可能是linearlayout。將其更改爲framelayout或添加一個,如果它們在根元素下並且它應該工作。

祝你好運。

0

把所有3個按鈕在一個水平LinearLayout中象下面這樣:

<LinearLayout 
    android:id="@+id/buttons_layout" 
    android:layout_width="368dp" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:orientation="horizontal" 
    android:padding="30dp" 
    tools:layout_editor_absoluteX="8dp" 
    tools:layout_editor_absoluteY="0dp"> 

    <Button 
     android:id="@+id/enter_button" 
     android:layout_width="100dp" 
     android:layout_height="50dp" 
     android:padding="5dp" 
     android:text="Enter" 
     android:textColor="#FFFFFF" /> 

    <Button 
     android:id="@+id/clear_button" 
     android:layout_width="100dp" 
     android:layout_height="50dp" 
     android:text="@string/clear_button" 
     android:textColor="#FFFFFF" 
     android:visibility="gone"/> 

    <Button 
     android:id="@+id/reserve_button" 
     android:layout_width="100dp" 
     android:layout_height="50dp" 
     android:padding="5dp" 
     android:text="@string/reserve_button" 
     android:textColor="#FFFFFF" 
     android:visibility="gone"/> 

</LinearLayout> 

最後兩個按鈕的知名度應該是「飄」和「回車鍵」按一下,設置自己的知名度爲「可見」和「進入「應該設置爲」消失「。

爲了使按鈕居中,問題在於您正在使用佈局重力。相反,你應該使用重力來讓孩子居中(見上面的代碼)。

注:請不要使用setVisibility(隱形),使用setVisibility(飄)