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);
        }
        
        
    }
  • 相关阅读:
    云计算上的个人数据隐私问题 狼人:
    应用兼容性Android Studio IDEA:基于IDEA的安卓开发环境
    最小生成树卡hdu1875畅通工程再续
    编译文件编译PHP的windows版本
    动作运动预防颈椎之痛的几个小技巧
    文件资源使用Texture管理cocosBuilder项目资源:纹理文件使用(TexturePacker)
    配置级别greenplum 可用空间计算
    返回定义利用DataTable、DataSet返回SQL Server的表或者单个字段
    构造函数对象[置顶] 揭开Javascript属性constructor/prototype的底层原理
    缓存二级缓存Spring环境下Hibernate二级缓存的应用
  • 原文地址:https://www.cnblogs.com/zhongshujunqia/p/3945807.html
Copyright © 2011-2022 走看看