安卓之Fragment

    Android在3.0引入Fragment概念,主要目的是用来增加大屏幕设备在UI设计时的灵活性。每一个Fragment之间相互独立,也可相互通信,也可以与activity交互。下面是Fragment的一些特点:

    (1)Fragment可以作为Activity的一部分出现。

    (2)可以在一个activity出现多个Fragment,一个Fragment也可以在多个activity使用。

    (3)在activity运行过程中可以添加,删除,或替换Fragment。

    (4)Fragment可以响应自己的输入事件,并且有自己的生命周期,它们的生命周期会受自己宿主的影响。

    使用Fragment时,首先创建一个Fragment的子类。它的子类中有一些方法,例如onCreateView()方法:当Fragement第一次启动绘制UI界面时,系统会首先调用它。为了绘制UI,它会返回一个View,如果不显示UI,则返回null。

    Fragment有两种加载方式,一种是静态加载方式,一种是动态加载方式。

    静态加载:在activity的layout中声明Fragment。标记Fragment的方法也有两种,一种是通过android:id,一种是通过android:tag。

    实现方法:

1.在activity_main布局文件中,添加Fragment组件。

<fragment
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:name="com.example.android.bluetoothchat.Fragement"/>

2.编写Fragment的布局文件。

3.编写Fragment的java文件,让其继承类Fragment。

public class MyFragement extends Fragment {
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment, container,false);
        return view;
    }
}

    其中inflater.inflate()中的三个参数分别代表:Fragment需要加载的布局文件,加载父layout的viewGroup,是否返回父ViewGroup.


    动态加载:撰写代码将Fragment添加到一个layout中来。主要是通过方法add():添加一个Fragement,指定要添加的Fragment和插入的View),与此类似的还有remove(),替换();这里需要引入一个新的概念:事务。事务是指对Fragment添加,删除等行为,都可以看做事务。FragmenManager是事务的管理者。下面是通过代码来获取事务。

        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction beginTransaction  = fragmentManager.beginTransaction();

下面是通过beginTransaction来操作事务:

        MyFragement fragement = new MyFragement();
        beginTransaction.add(R.layout.fragment,fragement);
        beginTransaction.commit();
当事务添加完成以后要提交commit();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值