zoukankan      html  css  js  c++  java
  • fragment初识

    ragement:碎片,ui的一个部分或行为,类似于activity,需嵌入在activity中,一个activity包含多个fragement,可以最大程度适配不同尺寸的手机activity的一部分Oncreate:全局变量赋值,初始化信息。在此之前,已经创建Onattach:fragement绑定activity

    Oncreate:
    oncreateView:给fragement设置页面
    OnactivityCreated:
    ondestroyView()
    Ondestroy()
    Ondetach()
    Fragement使用步骤:创建fragement布局文件继承fragement类自定义fragement,实现相关方法Layoutinflate:布局加载器控件?

    动态添加:直接在布局文件中引用

    静态添加:

    public class SecondFragment extends FragmentActivity implements OnClickListener,OnBackgroundChangeListener{
        private Button btnadd;
        @Override
        protected void onCreate(Bundle arg0) {
            // TODO Auto-generated method stub
            super.onCreate(arg0);
            setContentView(R.layout.second_fragment);
            btnadd=(Button) findViewById(R.id.addfragment);
            findViewById(R.id.addfragment).setOnClickListener(this);
            findViewById(R.id.delfragment).setOnClickListener(this);
            findViewById(R.id.hidefragment).setOnClickListener(this);
            findViewById(R.id.showfragment).setOnClickListener(this);
            findViewById(R.id.btnChange).setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            FragmentTransaction ft;
            switch(v.getId()){
            case R.id.addfragment:
                //添加fragment道activity
                FragmentManager fm=getSupportFragmentManager();
                ft=fm.beginTransaction();
                ft.add(R.id.fragmentContainer, new FirstFragement(), "chaos");
                
    
                ft.commit();
                break;
            case R.id.delfragment:
                //ft=getSupportFragmentManager().beginTransaction();
                Fragment f=getSupportFragmentManager().findFragmentByTag("chaos");
                ((FirstFragement)f).setOnBackgroundChangeListener(this);
                //ft.remove(f);
                //ft.commit();
                break;
            case R.id.showfragment:
                ft=getSupportFragmentManager().beginTransaction();
                Fragment sf=getSupportFragmentManager().findFragmentByTag("chaos");
                ft.show(sf);
                ft.commit();
                break;
            case R.id.hidefragment:
                ft=getSupportFragmentManager().beginTransaction();
                Fragment hf=getSupportFragmentManager().findFragmentByTag("chaos");
                ft.hide(hf);
                ft.commit();
                break;
            case R.id.replacefragment:
                ft=getSupportFragmentManager().beginTransaction();
                ft.replace(R.id.fragmentContainer, new FirstFragement(), "chaoss");
                ft.commit();
                break;
            case R.id.btnChange:
                FirstFragement ff=(FirstFragement) getSupportFragmentManager().findFragmentByTag("chaos");
                if(ff==null){
                    return;
                }
                ImageView img=(ImageView) findViewById(R.id.img);
                img.setImageResource(R.drawable.bbe609315da7a9bfa65df713e7c168e0);
                break;
            default:
                break;
            }
            
        }
        public void onBackgroundChange(){
            btnadd.setBackgroundResource(R.drawable.bc494385774b8343123c5697ebeaeb9);
        }
        
        
    }
  • 相关阅读:
    MonkeyScript_API
    APP性能(Monkey)【启动时间、CPU、流量、电量、内存、FPS、过度渲染】
    adb基本命令 & Monkey发生随机事件命令及参数说明
    MonkeyRunner_API
    2021春招冲刺-1218 页面置换算法 | sort的原理 | 语义化标签 | 标签的继承
    2021春招冲刺-1217 线程与进程 | ES6语法 | h5新增标签
    2021春招冲刺-1216 死锁 | 箭头函数 | 内联元素 | 页面渲染
    【unity】旧世开发日志
    HTTP 与HTTPS 简单理解
    GET POST 区分
  • 原文地址:https://www.cnblogs.com/zhongshujunqia/p/3945807.html
Copyright © 2011-2022 走看看