如何通过单击按钮显示另一个按钮?

时间:2012-03-28 21:36:43

标签: android

我不想创建新活动。就像这个绅士的例子(http://www.youtube.com/watch?v=V6AdmCIe4Ik),但我想在LinearLayout上使用Button而不是main来实现它。

在视频00:44说,用户点击res / layout / activity1.xml上指定的按钮,子按钮显示在00:47。

他使用菜单实现了它,并在res下创建了一个子文件夹(菜单),而不是使用布局。

我想做的是,一旦用户点击在LinearLayout上宣布的按钮,它就会在视频上显示另一个按钮,就像00:47一样。

1 个答案:

答案 0 :(得分:0)

使用非常简单的XML文件:

<LinearLayout
  android:orientation="vertical"
  android:layout_height="match_parent"
  android:layout_width="match_parent" 
  android:animateLayoutChanges="true">

  <Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="button1" />

  <Button
    android:id="@+id/button2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="button2"
    android:visibility="gone" />

</LinearLayout>

然后在代码中,为button1设置监听器,如下所示:

private Button button1;
private Button button2;

protected void onCreate(Bundle savedInstanceState) {
  setContentView(R.layout.activity1);
  button1 = findViewById(R.id.button1);
  button2 = findViewById(R.id.button2);

  button1.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
      button2.setVisibility(View.VISIBLE);
    }
  });
}

此代码示例为第一个按钮设置事件侦听器,并且在单击时,将按钮的可见性从已消失(这意味着它在布局中不占用空间并且不可见)更改为Visible,这是正常的状态。