zoukankan      html  css  js  c++  java
  • android 局部界面动态切换

      最*在做*板开发,觉得把Activity做的像网页效果那样比较好。局部界面固定,局部界面可以动态切换。效果如下:

    这个效果由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);
        }
    }
  • 相关阅读:
    s3c6410 SD卡启动的Secure mode
    转载:在WinCE中实现Screen Rotation
    Linux常用的
    49美元Android PC驾到!威盛APC初探
    通过ImageIO创建任意大小图片缩略图(image thumbnail)
    MongoDB中的注意事项
    PHP连接Mongo时的数据库指定
    MongoDB与PHP的简单应用
    关于MongoDB的group用法
    MongoDB的管理
  • 原文地址:https://www.cnblogs.com/oldfeel/p/2540605.html
Copyright © 2011-2022 走看看