• 带视图缓存的动态布局


    import android.app.Activity;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.LinearLayout;
    
    public class PadTestActivity extends Activity {
    
        View chacheView;
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            // setContentView(R.layout.main);
    
            LayoutInflater inflater = LayoutInflater.from(this);
            final View mainView = inflater.inflate(R.layout.main, null);
            // Add first page
            LinearLayout myFirst = (LinearLayout) inflater.inflate(R.layout.first, null).findViewById(R.id.myFirst);
            LinearLayout layoutFirst = (LinearLayout) mainView.findViewById(R.id.LayoutFirst);
            layoutFirst.removeAllViews();
            layoutFirst.addView(myFirst); // Show the page first
            
            // Add second page
            LinearLayout mySecond = (LinearLayout) inflater.inflate(R.layout.second, null).findViewById(R.id.mySecond);
            LinearLayout layoutSecond = (LinearLayout) mainView.findViewById(R.id.LayoutSecond);
            layoutSecond.removeAllViews();
            layoutSecond.addView(mySecond);
            
            // Add third page
            LinearLayout myThird = (LinearLayout) inflater.inflate(R.layout.third, null).findViewById(R.id.myThird);
            LinearLayout layoutThird = (LinearLayout) mainView.findViewById(R.id.LayoutThird);
            layoutThird.removeAllViews();
            layoutThird.addView(myThird);
    
            setContentView(mainView);
            
            chacheView = myFirst;
    
            Button btnDelete = (Button) mainView.findViewById(R.id.btnDelete);
            btnDelete.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
    
                    LinearLayout layoutFirst = (LinearLayout) mainView.findViewById(R.id.LayoutFirst);
                    layoutFirst.removeAllViews();
                }
            });
            
            Button btnAdd = (Button) mainView.findViewById(R.id.btnAdd);
            btnAdd.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    
                    LinearLayout layoutFirst = (LinearLayout) mainView.findViewById(R.id.LayoutFirst);                
                    if (chacheView != null) {
                        layoutFirst.addView(chacheView);
                    }                            
                }
            });
        }
        
    }
  • 相关阅读:
    react性能检测与优化
    react组件在项目中的应用(基础知识)
    前端性能优化
    我们一起来详细的了解react的语法以及组件的使用方法
    和我一起使用webpack构建react项目
    babel与ES6环境的搭建
    Razor 在JS中嵌入后台变量
    HttpClient + ASP.NET Web API, WCF之外的另一个选择
    《大型网站技术架构》读书笔记[3]
    Remote Desktop Connection Manager 多个远程管理
  • 原文地址:https://www.cnblogs.com/makeryan/p/2495751.html
Copyright © 2020-2023  润新知