手机平板要兼顾,探究碎片

碎片是什么

碎片(Fragment)是一种可以嵌入在活动中的UI片段,他能让程序更加合理和充分地利用大屏幕的空间

碎片的使用方式

  • 碎片通常实在平板中使用的

碎片的简单用法

  • fragment标签在布局中添加碎片,android:name属性用来显式指定要添加的碎片类名,一定要写全名(包括包名)

动态添加碎片

  1. 创建待添加的碎片实例

    AnotherRightFragment fragment = new AnotherRightFragment();
    
  2. 获取FragmentManager,在活动中可以直接调用getFragmentManager()方法得到

    FragmentManager fragmentManager = getFragmentManager();
    
  3. 开启一个事务,通过beginTransaction()方法开启

    FragmentTransaction transaction = fragmentManager.beginTransaction();
    
  4. 向容器内加入碎片,一般使用replace()实现,需要传入容器的id和带添加的碎片实例

     transaction.replace(R.id.right_layout,fragment);
    
  5. 提交事务,调用commit方法来完成

    transaction.commit();
    

在碎片中模拟返回栈

  • FragmentTransaction提供了一个addToBackStack()方法,可以将一个事务添加到返回栈中

    transaction.addToBackStack(null);
    

碎片和活动之间的通信

  • 碎片都是嵌入在活动中显示的
  • 调用FragmentManager的findFragmentById()方法,可以在活动中相应碎片的实例

    RightFragment rightFragment = (RightFragment)getFragmentManager.findFragmentById(R.id.right_fragment);
    
  • 在碎片中可以调用getActivity()方法来得到和当前碎片相关联的活动

    MainActivity activity = (MainActivity)getActivity();
    

碎片的生命周期

  • 碎片一共有运行、暂停、停止、销毁四种状态
  • 碎片是依附活动而存在的
  • 碎片独特的方法:
    • onAttach():当碎片和活动建立关联时调用
    • onCreateView:为碎片创建视图(加载布局)时使用
    • onActivityCreated:确保与碎片相关联的活动一定已经创建完毕的时候调用
    • onDestroy:但与碎片相关联的视图被移除是调用
    • onDetach:当碎片和活动解除关联的时候调用

动态加载布局的技巧

使用限定符

Android中一些常用的限定符

使用最小宽度限定符

  • 最小宽度限定符允许我们对屏幕的宽度指定一个最小指(以 dp 为单位) ,然后以这个最小值为临界点,屏幕宽度大于这个值的设备就加载一个布局,屏幕宽度小于这个值的设备就加载另一个布局

碎片最佳实践—一个简易的新闻应用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值