Andriod Fragment——添加用户界面

通常,Fragment是作为Activity用户界面的一部分来使用的,并且它会给Activity提供自己的布局。 

要给Fragment提供一个布局,你必须实现onCreateView()回调方法,系统在给Fragment描画布局的时候会调用这个方法。这个方法的实现必须返回一个View,它是Fragment布局的根。

注:如果你的的Fragment是ListFragment的子类,默认的实现是从onCreateView()方法中返回一个ListView(),因此你不需要实现它。

为了从onCreateView()方法中返回一个布局,你能够通过XML文件中的一个布局资源的定义来填充它。为了帮助你做这件事,onCreateView()方法提供了一个LayoutInflater对象。

例如,Fragment的一个子类通过example_fragment.xml文件加载一个布局:

public static class ExampleFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.example_fragment, container, false);
    }
}

传递给onCreateView()方法的container参数是ViewGroup(来自Activity的布局)的父类,你的Fragment参数将被插入到这个容器中。如果Fragment正在被恢复,那么savedInstanceState参数就提供一个有关前一个Fragment实例数据的Bundle对象。

Inflate()方法需要三个参数:

1.   第一个参数是你想要填充的布局的资源ID;

2.   第二个参数ViewGroup是被填充的布局的父容器,传递container参数是至关重要的,因为在这个方法执行过程,系统要把这个父视图指定的布局参数用作被填充的布局的根视图。

3.    一个布尔值参数指示在填充期间是否要把布局绑定到ViewGroup(第二个参数)上。在这个例子中,指定false是因为系统已经把被填充的布局插入到container参数中了——如果传递true,在最终的布局中会创建一个多余ViewGroup。

你已经看到了如何创建一个提供布局的Fragment,接下来就需要把Fragment添加到Activity中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值