【问题标题】:Change from Layout 1 to Layout 2 on Android with button使用按钮在 Android 上从布局 1 更改为布局 2
【发布时间】:2013-03-06 00:20:19
【问题描述】:

我有两个布局,我想在单击按钮时在彼此之间进行更改。 它们是这样的全屏视图:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF0000"
tools:context=".FullscreenActivity" >

并且我希望它们在单击时在它们之间进行更改

 <Button
 android:id="@+id/green_button"
 style="?buttonBarButtonStyle"
 android:layout_width="0dp"
 android:layout_height="wrap_content"
 android:layout_weight="1"
 android:text="@string/green" />

我是否应该更改 src/com.example.layout/fullscreenactivity.java onClick() 中的某些内容,或者我可以在哪里更改以便发生这种情况?

提前致谢

【问题讨论】:

    标签: android layout button


    【解决方案1】:
    rb = (Button) findViewById(R.id.green_button);
    rb.setOnClickListener(new View.OnClickListener() {
    
        @Override
        public void onClick(View v) {
                setContentView(R.layout.OtherLayout);
    // now in order to use other layout button, image or any child function you have to declare it under the                 setContentView(R.layout.OtherLayout);
    
        }
    });
    

    请接受答案:)

    【讨论】:

      【解决方案2】:
      layout1 = (FrameLayout)findViewById(R.id.frameLayout1);
      layout2 = (FrameLayout)findViewById(R.id.frameLayout2);
      layout2.setVisibility(View.GONE);
      mButton = (Button)findViewById(R.id.green_button);
      
      mButton.setOnClickListener(new View.OnClickListener() {
      
          @Override
          public void onClick(View v) {
                  layout1.setVisibility(View.GONE);
                  layout2.setVisibility(View.VISIBLE);
      
          }
      });
      

      【讨论】:

      • 谢谢,它确实适用于此,这与其他人相似,所以也谢谢
      • 是的,我只是认为代码会更有帮助,而不是用文字解释。欢迎你! :)
      【解决方案3】:

      最简单的方法是同时应用两个 FrameLayouts,并在 onClickListener 中仅将一个的可见性更改为 visible,将另一个更改为 gone

      【讨论】:

        【解决方案4】:

        是的,在您使用框架布局和按钮的活动中,您必须为按钮添加一个侦听器以及在单击按钮时发生的适当操作(在您的情况下 - 更改布局)

        【讨论】:

          【解决方案5】:

          您可以做的一件事是在一个xml 文件中声明两种布局,然后使用setVisibility(View.GONE) 删除特定布局。你可以在thisstackoverflow 问题中看到这一点。

          【讨论】:

            猜你喜欢
            • 2023-03-09
            • 2020-02-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-09-01
            相关资源
            最近更新 更多