zoukankan      html  css  js  c++  java
  • Android学习之基础知识七—碎片的最佳实践

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

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

    第二步:创建新闻实体类

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

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

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

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

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

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

     

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

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

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

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

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

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

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

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

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

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

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

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

    第十四步:运行程序

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

          

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

    二、总结思路

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

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

  • 相关阅读:
    chattr
    chage命令
    passwd命令
    usermod命令
    userdel命令
    useradd命令
    信息热词分析系统重构
    pandas数据清洗
    python 中mysql数据库的读写
    java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
  • 原文地址:https://www.cnblogs.com/hh8888-log/p/10081719.html
Copyright © 2011-2022 走看看