Android - 一个按钮变为两个

Android - 一个按钮变为两个

问题描述:

如何创建三个按钮,以便只有第一个按钮出现,一旦它被点击,它将被替换为两个并排按钮。这些按钮应居中。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()'方法将有很大的帮助 –

很简单。 父元素可能是linearlayout。将其更改为framelayout或添加一个,如果它们在根元素下并且它应该工作。

祝你好运。

把所有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(飘)