我有一个布局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文件,但我无法弄清楚如何做到这一点。谁能给我一些指导?
答案 0 :(得分:1)
您可以像在第一个布局中一样在布局中添加第二组按钮,然后在布局xml文件中在第二个布局上设置属性android:visibility="gone"
。在您的代码中,当您需要切换按钮时,可以在另一个布局上为一个布局(例如setVisibility(View.GONE)
)和taoFooter
调用setVisibility(View.VISIBLE)
。
或者,如果您想要添加一些动画,可以在两个备用按钮布局周围添加ViewFlipper。默认情况下,只有第一个可见。您可以使用showNext()
切换到下一个布局。在此之前添加对setInAnimation()
和setOutAnimation()
的调用以启用动画。