android编程实现局部界面动态切换的方法

前端技术 2023/09/05 Android

本文实例讲述了android编程实现局部界面动态切换的方法。分享给大家供大家参考,具体如下:

局部界面固定,局部界面可以动态切换。效果如下:

这个效果由3个layout构成

main.xml

<?xml version=\"1.0\" encoding=\"utf-8\"?>
<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"
  android:layout_width=\"fill_parent\"
  android:layout_height=\"fill_parent\"
  android:orientation=\"horizontal\" >
  <LinearLayout
    android:layout_width=\"fill_parent\"
    android:layout_height=\"fill_parent\"
    android:layout_weight=\"1\"
    android:background=\"@android:color/black\" >
    <Button
      android:id=\"@+id/btnSwitch\"
      android:layout_width=\"wrap_content\"
      android:layout_height=\"wrap_content\"
      android:text=\"switch\" />
    <Button
      android:id=\"@+id/btnScreen\"
      android:layout_width=\"wrap_content\"
      android:layout_height=\"wrap_content\"
      android:text=\"screen\" />
  </LinearLayout>
  <LinearLayout
    android:id=\"@+id/frameSwitch\"
    android:layout_width=\"160dp\"
    android:layout_height=\"fill_parent\"
    android:background=\"@android:color/white\" >
  </LinearLayout>
</LinearLayout>

one.xml

<?xml version=\"1.0\" encoding=\"utf-8\"?>
<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"
  android:layout_width=\"fill_parent\"
  android:layout_height=\"fill_parent\"
  android:background=\"@color/yellow\"
  android:orientation=\"vertical\" >
  <TextView
    android:layout_width=\"wrap_content\"
    android:layout_height=\"wrap_content\"
    android:text=\"this is linearLayout one\" />
</LinearLayout>

two.xml

<?xml version=\"1.0\" encoding=\"utf-8\"?>
<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"
  android:layout_width=\"match_parent\"
  android:layout_height=\"match_parent\"
  android:orientation=\"vertical\" >
  <TextView
    android:layout_width=\"wrap_content\"
    android:layout_height=\"wrap_content\"
    android:text=\"this is linearLayout two\" />
  <Button
    android:id=\"@+id/btnSecond\"
    android:layout_width=\"wrap_content\"
    android:layout_height=\"wrap_content\"
    android:text=\"btnSecond\" />
</LinearLayout>

下面是Java代码

public class ZzzAndroidActivity extends Activity {
  private LinearLayout frameSwitch;
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    frameSwitch = (LinearLayout) findViewById(R.id.frameSwitch);
    Button btnSwitch = (Button) findViewById(R.id.btnSwitch);
    btnSwitch.setOnClickListener(new OnClickListener() {
      boolean boo = false;
      @Override
      public void onClick(View v) {
        boo = !boo;
        if (boo) {
          getViewOne();
        } else {
          getViewSecond();
        }
      }
    });
    /*
     * 是否全屏
     */
    Button btnScreen = (Button) findViewById(R.id.btnScreen);
    btnScreen.setOnClickListener(new OnClickListener() {
      boolean isScreen = false;
      @Override
      public void onClick(View v) {
        isScreen = !isScreen;
        if (isScreen) {
          frameSwitch.setVisibility(android.view.View.GONE);
        } else {
          frameSwitch.setVisibility(android.view.View.VISIBLE);
        }
      }
    });
  }
  public void getViewOne() {
    View viewOne = getLayoutInflater().inflate(R.layout.one, null);
    frameSwitch.removeAllViews();
    frameSwitch.addView(viewOne, LayoutParams.FILL_PARENT,
        LayoutParams.FILL_PARENT);
  }
  public void getViewSecond() {
    View viewSecond = getLayoutInflater().inflate(R.layout.two, null);
    Button btn = (Button) viewSecond.findViewById(R.id.btnSecond);
    btn.setOnClickListener(new OnClickListener() {
      @Override
      public void onClick(View v) {
        Toast.makeText(ZzzAndroidActivity.this, \"hello world\",
            Toast.LENGTH_LONG).show();
      }
    });
    frameSwitch.removeAllViews();
    frameSwitch.addView(viewSecond, LayoutParams.FILL_PARENT,
        LayoutParams.FILL_PARENT);
  }
}

希望本文所述对大家Android程序设计有所帮助。

本文地址:https://www.stayed.cn/item/13138

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。