android 碎片技术,Android学习之基础知识七—碎片的最佳实践

一、Android碎片(Fragment)的最佳实践——简易版新闻应用

第一步:新建FragmentBestPractice项目,在app/build.gradle当中添加:RecyclerView 依赖库,注意:添加完成后,一定要记住点击右上角的:Sync now

7638e311011f32e070e8b1f8f1dcd770.png

第二步:创建新闻实体类

3f8bcb4d6bc95c3b9049b06f5f7fe2f7.png

第三步:创建新闻内容的布局文件:news_content_frag.xml

新闻内容布局主要分为两个部分:头部显示新闻标题、正文显示新闻内容,中间用一条细线分隔开,细线利用View来实现,通过background属性设置一下颜色就行了

1ebbc0fe1d3989fbc8ad84bf616f55dc.png

第四步:创建新闻内容的碎片:NewsContentFragment类,继承Fragment,注意:这里继承的Fragment不是系统自带的Fragment,而是:android.support.v4.app.Fragment

f5b0ab42d7946b039123dfe974190a85.png

上面我们已经把新闻内容的碎片和布局创建好了,但是它们都是在双页模式中使用的,如果是单页模式中使用的话,我们还需要再创建一个新闻内容的活动:NewsContentActivity,并指定对应的布局文件名为:news_content.xml

第五步:在news_content.xml中直接引入NewsContentFragment碎片,新闻内容的布局:news_content_frag.xml也自动加载了进来。

4284120acdea23545f45724166007637.png

第六步:在NewsContentActivity中显示新闻标题和内容

7a0e9c8c3d1b8c217be2766a1d90a04e.png

第七步:创建新闻的标题列表布局:news_title_frag.xml,在这个列表中由于只有标题,所以使用RecyclerView控件

d34c570ac4d85f1541ce913637b2534e.png

第八步:使用RecyclerView控件就必须要有子项布局,即:标题列表中一个标题的布局:news_item.xml. 标题使用TextView表示就行了

android:padding  给控件周围补白,这样不至于让文本内容会紧贴在边缘上

android:singleLine  设置为true表示让这个TextView只能单行显示

android:ellipsize  用于设定文本的内容超出控件宽度时,文本的缩略方式。这里表示在尾部进行缩略。

329b7dd6e0aee2916a7f6adf26343fd5.png

第九步:新闻的标题列表和子项布局创建完成后,创建标题碎片:newsTitleFragment

113b60d8897dee929490ee9686cb7825.png

为了让news_content_layout只在双页模式中出现,可以借助我们刚刚学过的限定词来实现

第十步:修改activity_main.xml,用于单页模式下,会加载新闻标题列表一个碎片

c61f3054e9631d63bd070ddba2285d24.png

第十一步:在res目录下,新建layout-sw600dp文件夹,在该文件夹下再建一个activity_main.xml,并在其中指定一个id:news_content_layout,用于双页模式下,加载两个碎片:新闻标题列表、新闻内容

新闻内容放在了一个FragmentLayout布局中,并且id就为:news_content_layout

a533ef72c73718de161442afbc6a5b12.png

第十二步:在NewsTitleFragment中新建一个内部类:NewsAdapter 作为RecyclerView的适配器,用来将新闻列表展示出来

5819bcf0e88758a6dabe07a8abaee3b6.png

706718b338d5ed3d11f86ebc1b90893f.png

第十三步:最后一步,向RecyclerView中填充数据,修改NewsTitleFragment中的代码

047d547e5c02322f3ddb0a4ac14ce6df.png

第十四步:运行程序

在手机上运行程序,只会显示新闻的标题列表(左),可以上下滑动屏幕,点击任意标题,切换到新闻内容的活动界面(右)

9b9424cd9e911c9c6b32b1b1e6de26fd.png      

89e5a4a15fa9dcc7e8678fdaed51ec42.png

在PAD上面运行程序,新闻标题列表和新闻内容都在一个界面显示出来

d0d001c6ebdd60188dcb05e2e81e75a2.png

二、总结思路

在手机上运行,先显示出一个新闻的标题列表,通过点击标题跳转页面,显示出新闻的内容

在PAD上运行,同时显示出新闻标题列表和新闻内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值