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);
    }
    
    
}

 

转载于:https://www.cnblogs.com/zhongshujunqia/p/3945807.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值