在按钮栏之间切换

时间:2013-07-05 13:46:52

标签: android android-layout

我有一个布局xml文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" 
    android:background="#000000" >
    <FrameLayout
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_above="@+id/taoFooter">
        <com.example.gamedice.DrawingPanel
            android:id="@+id/taoCanvas"
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"
            android:background="#000000" />
    </FrameLayout>
    <LinearLayout
        android:id="@+id/taoFooter"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_alignParentBottom="true"
        style="@android:style/Holo.ButtonBar">
        <Button
            android:id="@+id/roll1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="@string/roll1"
            android:layout_weight="1" 
            style="@android:style/Widget.Holo.Button.Borderless"
            android:onClick="rollTaoDice" />
        <Button
            android:id="@+id/roll2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="@string/roll2" 
            android:layout_weight="1"
            style="@android:style/Widget.Holo.Button.Borderless"
            android:onClick="rollTaoDice" />
        <Button
            android:id="@+id/roll3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="@string/roll3"
            android:layout_weight="1"
            style="@android:style/Widget.Holo.Button.Borderless"
            android:onClick="rollTaoDice" />
        <Button
            android:id="@+id/roll4"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="@string/roll4" 
            android:layout_weight="1"
            style="@android:style/Widget.Holo.Button.Borderless"
            android:onClick="rollTaoDice" />
        </LinearLayout>
</RelativeLayout>

除了布局中的其他项目外,此布局还有一个按钮栏,由屏幕底部的四个按钮组成。根据用户输入,我希望能够用另一组预定义的按钮替换此按钮栏,然后能够稍后更改。

由于我知道备用按钮组将提前完成,我认为可以使用备用布局xml文件,但我无法弄清楚如何做到这一点。谁能给我一些指导?

1 个答案:

答案 0 :(得分:1)

您可以像在第一个布局中一样在布局中添加第二组按钮,然后在布局xml文件中在第二个布局上设置属性android:visibility="gone"。在您的代码中,当您需要切换按钮时,可以在另一个布局上为一个布局(例如setVisibility(View.GONE))和taoFooter调用setVisibility(View.VISIBLE)

或者,如果您想要添加一些动画,可以在两个备用按钮布局周围添加ViewFlipper。默认情况下,只有第一个可见。您可以使用showNext()切换到下一个布局。在此之前添加对setInAnimation()setOutAnimation()的调用以启用动画。