最近在做平板开发,觉得把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);    }}

更多相关文章

  1. Android(安卓)判断当前的界面是否是桌面的方法
  2. 仿微信底部Tab切换,TabHost+Fragment的用法
  3. Android(安卓)Spanned实现TextView富文本效果(1)--文字
  4. 安卓视频通讯系统(SDK)
  5. Android实现桌面悬浮小火箭效果
  6. Android滑动回弹效果
  7. Android:Paint的setMaskFilter(MaskFilter maskfilter)
  8. Android(安卓)RecyclerView DiffUtil 局部刷新 整理 踩坑 封装
  9. Android实现创意LoadingView动画效果

随机推荐

  1. android应用程序中获取view的位置(2)
  2. Android(安卓)ViewPager 小圆点指示器
  3. Android(安卓)TabWidget底部显示效果
  4. Android(安卓)MediaScannerService源码分
  5. android 指定组件的圆角图片处理
  6. android 在surfaceView上画图
  7. 《第一行代码Android》学习总结第十章 Se
  8. Android(安卓)源码编译make的错误处理
  9. 如何给android studio加速(加快gradle bui
  10. android的两种启动service方式及混合方式