Android - 一个按钮变为两个
问题描述:
如何创建三个按钮,以便只有第一个按钮出现,一旦它被点击,它将被替换为两个并排按钮。这些按钮应居中。Android - 一个按钮变为两个
这是我到目前为止有:
<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使输入按钮消失。
答
很简单。 父元素可能是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(飘)
'setVisibility()'方法将有很大的帮助 –