xamarin学习笔记A07(安卓Fragment)

本文介绍了Fragment的概念及其在Android开发中的作用,特别是在不同屏幕尺寸设备上的应用。Fragment是一种UI片段,可嵌入到Activity中,有助于统一管理不同尺寸屏幕的界面布局。

(每次学习一点xamarin就做个学习笔记视频来加深记忆巩固知识)
如有不正确的地方,请帮我指正。

Fragment简介
Android程序运行在手机、平板和电视等各种设备中,各设备屏幕尺寸差距很大。不希望做几套程序来适应不同尺寸的设备。Fragment的产生就是解决这种问题。
Fragment是一种可以嵌入在Activity中的UI片段。
Fragment是Android3.0开始引入的新API技术。在Fragment中嵌套Fragment的功能是在Android4.2系统中才开始支持的,如果要在4.2之前系统运行就要使用support-v4库。

Fragment的生命周期
下面是一张官网图:
这里写图片描述
可以看到和activity的生命周期类似,多了几个方法。
OnAttach()当片段和活动建立关联时调用。
OnCreateView()当片段加截布局时调用。
OnActivityCreated()当与片段相关联的活动创建完毕后调用。
OnDestroyView()当与片段关联的视图被移除的时候调用。
OnDetach()当片段和活动解除关联的时候调用。

实现一个下面的图功能,左边是图书列表,右边是图书介绍。这个界面是针对平板电脑的。而在手机界面中只显示左边的这块,通过点击左边书名再在另一个新界面显示书的简介。
这里写图片描述
下面是一张项目文件部分截图:
这里写图片描述
可以看到有两个Main布局文件,一个是在默认layout目录中,一个在layout-sw600dp中,当程序运行在大于宽度600dp屏幕上时,系统会自动使用layout-sw600dp的Main布局, 宽度小于600dp则使用layout目录中的Main布局。(sw是Smallest-width的缩写)

默认的layout目录中的Main布局文件代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

  <fragment
      android:id="@+id/bookRecyclerFragment"
      android:name="A07.BookRecyclerFragment"
      android:layout_width="match_parent"
      android:layout_height="match_parent"/>
</LinearLayout>

就只有一个fragment,即书名列表片段bookRecyclerFragment。

Layout-sw600目录中的Main布局文件代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

  <fragment
    android:id="@+id/bookRecyclerFragment"
    android:name="A07.BookRecyclerFragment"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"/>

  <FrameLayout
    android:id="@+id/bookDescriptionFrameLayout"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="3">

    <fragment
      android:id="@+id/bookDescriptionFragment"
      android:name="A07.BookDescriptionFragment"
      android:layout_width="match_parent"
      android:layout_height="match_parent"/>
  </FrameLayout>
</LinearLayout>

这个布局文件用于宽度大于600dp的设备上,所以可显示两个片段,左边的书名列表片段bookRecyclerFragment和右边的书简介片段bookDescriptionFragment。

完整代码和视频在我上传的优快云资源中http://download.youkuaiyun.com/detail/junshangshui/9910017

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值