首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android:流式布局实现总结

这种方式网上有很多讲解,此处不再赘述,推荐参考鸿洋大佬的:https://github.com/hongyangAndroid/FlowLayout (2)、ChipGroup ChipGroup,是google...通常情况下,与ChipGroup配套使用的是Chip——也就是ChipGroup中的条目。Chip本身具有选中和点击状态,也可以加入图片,可以修改文本(颜色、字号、字体等)。...xml中使用的示例代码 ChipGroup     android:id="@+id/chipGroup2"     android...但是在构建对象时必须指定行或者列,这样就导致内容超过屏幕宽度或者高度时,并不会主动换行——而是优先适配行数或列数,然后滚动显示。...项目地址: https://github.com/CnPeng/CnPengAndroid2 文中内容对应项目中的: bwork.b04flow_layout 包 (2)、相关参考 自定义FlowLayout

5.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android:Chip、ChipGroups、ChipDrawable

    最早实现这种界面的时候,基本都是自定义一个继承自ViewGroup的控件,然后在Java代码中动态的add 一个个的TextView; 后来有了 RecyclerView , 我们实现这种界面就比较方便了...2、引入material兼容包 使用Chip时需要先引入兼容包,可分为两种情况, 一种是新建项目;一种是在现有的项目中引入 Chip. (1)、新建的项目 引入兼容包 implementation 'com.google.android.material...版本为不低于3.2.0 的版本 ,如 buildscript { .........中 , 通过 ChipGroup 的 singleSelection=true/false 属性可以实现单选或多选 ChipGroup的特点 使用 ChipGroup 可以方便的实现 流式布局效果。其特点如下: 默认情况下, ChipGroup 中的 chip 会横向排列,当超过一行时会执行换行操作。

    2.3K20

    【RecyclerView】二、RecyclerView 简介 ( RecyclerView 特点 | RecyclerView 涉及到的类 )

    --- RecyclerView 是 Google 官方提供的任何 基于适配器显示的视图 , 可以实现普通列表 ( ListView ) , 网格列表 ( GridView ) , 瀑布流 , 以及各种自定义形式的多容器布局..., 远超 ListView ; ③ ViewHolder 规范 : RecyclerView 避免了 ListView 中自定义 ViewHolder , 给出了相应的 规范 ; 三、RecyclerView...LayoutManager 布局管理器主要作用是 负责排列各个元素组件 , 可以使用系统提供的 线性布局管理器 LinearLayoutManager , 网格布局管理器 GridLayoutManager..., 瀑布流布局管理器 StaggeredGridLayoutManager , 也可以 自定义实现各种奇形怪状的布局管理器 , 如自定义圆形的布局管理器 ; 上面的 3 个类 , 是使用 RecyclerView...用于设置每个布局元素的 间隔样式 ; ItemAnimator 用于设置布局元素的 动画效果 , 如添加动画 , 删除动画 等 ; 四、RecyclerView 相关资料 ---- 官方文档 : 使用

    5.3K00

    【Android从零单排系列二十五】《Android视图控件——RecyclerView》

    二 RecyclerView使用方法 在项目的build.gradle文件中添加RecyclerView的依赖: implementation 'androidx.recyclerview:recyclerview...setLayoutManager(LayoutManager layoutManager):设置RecyclerView的布局管理器,决定如何排列和定位子项视图。...它是ListView的升级版本,并提供更好的性能和更丰富的功能。...与ListView相比,RecyclerView具有许多优势: 灵活性:RecyclerView提供了更高级别的自定义选项,使开发者可以灵活控制列表项的布局、动画效果和交互行为。...增强的布局管理器(LayoutManager):RecyclerView支持不同类型的布局管理器,如线性布局、网格布局、瀑布流布局等,可以轻松实现各种列表和网格展示方式。

    38010

    揭开RecyclerView庐山真面目

    一、RecyclerView概述 从前面的学习我们知道,ListView的功能非常强大,几乎绝大部分应用程序都会使用到,虽然也学会一些方法技巧来提升ListView的效率,但其性能还是不是很完美...RecyclerView可以看作是ListView的进化版本,当然RecyclerView并不是继承ListView的,RecyclerView直接继承于ViewGroup父类。...使用RecyclerView开发的项目结构大致如下图所示: ?...从上图可以看到,要使用RecyclerView,需要先了解清楚LayoutManager和Adapter元素,分别如下: LayoutManager:用来确定每一个item如何进行排列摆放,何时展示和隐藏...从上面例子可以看出来,RecyclerView的用法并不比ListView复杂,反而更灵活好用,它将数据、排列方式、数据的展示方式都分割开来,因此可定制型,自定义的形式也非常多,非常灵活。

    1.8K80

    RecyclerView技术栈参考资料:

    LayoutManager - 负责摆放视图等相关操作 ItemDecoration - 负责绘制Item附近的分割线 ItemAnimator - 为Item的一般操作添加动画效果,如,增删条目等...而且RecyclerView增强了ViewHolder设计模式,这在当前所使用的ListView中是不曾有的。...与传统ListView比较 RecyclerView与老前辈ListView的不同点,主要在于以下几个特性: Adapter中的ViewHolder模式 - 对于ListView来说,通过创建ViewHolder...定制Item条目 - ListView只能实现垂直线性排列的列表视图,与之不同的是,RecyclerView可以通过设置RecyclerView.LayoutManager来定制不同风格的视图,比如水平滚动列表或者不规则的瀑布流列表...) 与padding或margin类似,LayoutManager在测量阶段会调用该方法,计算出每一个Item的正确尺寸并设置偏移量。

    1.2K10

    【Android从零单排系列二十】《Android视图控件——ListView》

    添加数据:通过适配器向ListView添加数据,可以使用适配器的方法(如add()、addAll())添加单个或多个数据项。一旦数据被添加到适配器,ListView会自动刷新并显示新数据。...替代控件:随着Android开发的演进,RecyclerView逐渐取代ListView成为更加灵活和高效的列表展示控件。...推荐在新项目中使用RecyclerView,它提供了更多的定制选项和优化功能。...invalidateViews():通知ListView刷新所有列表项的视图。  适配器: RecyclerView:RecyclerView是取代ListView的新一代列表视图控件。...ArrayAdapter:ArrayAdapter是基于数组的简单适配器,用于将数据与ListView绑定。它适用于静态的、固定长度的数据集合,例如字符串数组或整数数组。

    62310

    Android ListView 与 RecyclerView 对比浅析:缓存机制

    共同使用,在特定场景下,如viewpaper+多个列表页下有优势.客观来说,RecyclerView在特定场景下对ListView的缓存机制做了补强和完善。...为重点,分为三步: dispathLayoutStep1():记录RecyclerView刷新前列表项ItemView的各种信息,如Top,Left,Bottom,Right,用于动画的相关计算; dispathLayoutStep2...三.结论 1、在一些场景下,如界面初始化,滑动等,ListView和RecyclerView都能很好地工作,两者并没有很大的差异: 文章的开头便抛出了这样一个问题,微信Android客户端卡券模块,大部分...2、数据源频繁更新的场景,如弹幕:http://www.jianshu.com/p/2232a63442d6 等RecyclerView的优势会非常明显; 进一步来讲,结论是: 列表页展示界面,需要支持动画...,或者频繁更新,局部刷新,建议使用RecyclerView,更加强大完善,易扩展;其它情况(如微信卡包列表页)两者都OK,但ListView在使用上会更加方便,快捷。

    6.8K41

    浅谈RecyclerView(完美替代ListView,GridView)

    首先总结下RecyclerView的特点: 1.支持不同方向,不同排版模式,实现多种展现数据的形式,涵盖了ListView,GridView,瀑布流等数据表现的形式 2.内部实现了回收机制,无需我们考虑...22.+' 首先,要导入support-v7 包 import android.support.v7.widget.RecyclerView; RecyclerView和ListView的使用一样,都需要有对应的...的使用了 首先 要了解  RecyclerView.LayoutManager 这个属性 用于进行一个布局的设置,可以设置显示模式,ListView或者GridView或者瀑布流 1.ListView显示模式...(3, // 每行显示的item项数目 4 StaggeredGridLayoutManager.VERTICAL); // 垂直排列 ?...= (RecyclerView) findViewById(R.id.recycle_view); 31 // 设置布局管理器 32 // 支持 单列线性排列,支持

    2.3K60

    Android ListView 与 RecyclerView 对比浅析--缓存机制

    共同使用,在特定场景下,如viewpaper+多个列表页下有优势.客观来说,RecyclerView在特定场景下对ListView的缓存机制做了补强和完善。...分为三步: dispathLayoutStep1():记录RecyclerView刷新前列表项ItemView的各种信息,如Top,Left,Bottom,Right,用于动画的相关计算; dispathLayoutStep2...三.结论 在一些场景下,如界面初始化,滑动等,ListView和RecyclerView都能很好地工作,两者并没有很大的差异: 文章的开头便抛出了这样一个问题,微信Android客户端卡券模块,大部分UI...数据源频繁更新的场景,如弹幕:http://www.jianshu.com/p/2232a63442d6等RecyclerView的优势会非常明显; 进一步来讲,结论是: 列表页展示界面,需要支持动画,...或者频繁更新,局部刷新,建议使用RecyclerView,更加强大完善,易扩展;其它情况(如微信卡包列表页)两者都OK,但ListView在使用上会更加方便,快捷。

    1.4K20

    Android开发笔记(一百二十二)循环器视图RecyclerView

    RecyclerView RecyclerView是Android在support-v7库中新推出控件,中文别名为循环器视图,它的功能非常强大,可分别实现ListView、GridView,以及瀑布流网格的显示效果...notifyItemChanged : 通知适配器在指定位置的项目发生了变化。 notifyDataSetChanged : 通知适配器整个列表的数据发生了变化。...方法,界面就会根据新布局刷新列表项,这个特性特别适合于手机在竖屏/横屏之间的显示切换(如竖屏时展示ListView,横屏时展示GridView),也适合在不同屏幕分辨率如手机/平板之间的显示切换(如手机上展示...ListView,平板上展示GridView)。...StaggeredGridLayoutManager,这让我们对瀑布流效果的开发大大简化了,只要在适配器代码中动态设置每个网格的高度,系统便会自动在界面上依次排列瀑布流网格。

    2.4K20

    RecyclerView 必知必会

    Bugly之前也发过一篇相关文章,讲解了 RecyclerView 与 ListView 在缓存机制上的一些区别: Android ListView 与 RecyclerView 对比浅析--缓存机制...damonxia(夏正冬),Android工程师 前言 下文中Demo的源代码地址: https://github.com/xiazdong/RecyclerViewDemo (点击文末阅读原文,直接访问该项目...从定义可以看出,flexible(可扩展性)是RecyclerView的特点。不过我们发现和ListView有点像,本文后面会介绍RecyclerView和ListView的区别。...为什么会出现RecyclerView? RecyclerView并不会完全替代ListView(这点从ListView没有被标记为@Deprecated可以看出),两者的使用场景不一样。...但是RecyclerView的出现会让很多开源项目被废弃,例如横向滚动的ListView, 横向滚动的GridView, 瀑布流控件,因为RecyclerView能够实现所有这些功能。

    2.6K70

    RecyclerView必知必会

    从定义可以看出,flexible(可扩展性)是RecyclerView的特点。不过我们发现和ListView有点像,本文后面会介绍RecyclerView和ListView的区别。...为什么会出现RecyclerView? RecyclerView并不会完全替代ListView(这点从ListView没有被标记为@Deprecated可以看出),两者的使用场景不一样。...但是RecyclerView的出现会让很多开源项目被废弃,例如横向滚动的ListView, 横向滚动的GridView, 瀑布流控件,因为RecyclerView能够实现所有这些功能。...ListView vs RecyclerView ListView相比RecyclerView,有一些优点: addHeaderView(), addFooterView()添加头视图和尾视图。...canScrollVertically()或canScrollHorizontally(): 判断是否支持纵向滑动或横向滑动。

    4.7K20

    Android段子类app - 相乐搞笑

    相乐搞笑(xiangle-android) 之前分享了 xiangle-ios ,现把Android版也分享出来 项目介绍 主框架: TabLayout+ViewPager 子页面: 所有子页面共用一个...Activity,具体实现集中在Fragment 网络请求: retrofit2+rxjava3 图片加载: glide 列表加载: RecyclerView或ListView 文件存储: OSS(sts...方式) 下拉刷新,上拉加载: SmartRefreshLayout token存储: SharedPreferences 目录结构 adapter: 所有RecyclerView或ListView的适配器...onError;有网络请求的fragment需实现list/detail监听器 model: 所有接口的model service: 所有接口的定义,定义完给model使用 utility: 工具类,如屏幕信息...,app信息,retrofit,oss等 view: 自定义view,如九宫格,圆形头像,弹窗(DialogFragment) 介绍 分享风趣幽默的段子/视频/图片 首页:视频/图片/文字 任你选择 详情

    52320

    RecyclerView 必知必会

    从定义可以看出,flexible(可扩展性)是RecyclerView的特点。不过我们发现和ListView有点像,本文后面会介绍RecyclerView和ListView的区别。...为什么会出现RecyclerView? RecyclerView并不会完全替代ListView(这点从ListView没有被标记为@Deprecated可以看出),两者的使用场景不一样。...但是RecyclerView的出现会让很多开源项目被废弃,例如横向滚动的ListView, 横向滚动的GridView, 瀑布流控件,因为RecyclerView能够实现所有这些功能。...ListView vs RecyclerView ListView相比RecyclerView,有一些优点: addHeaderView(), addFooterView()添加头视图和尾视图。...RecyclerView回收机制 RecyclerView和ListView的回收机制非常相似,但是ListView是以View作为单位进行回收,RecyclerView是以ViewHolder作为单位进行回收

    4.2K90

    RecyclerView面试宝典:7大高频问题解析,面试必备!

    参考简答: 主要区别如下: 布局管理器:RecyclerView引入了LayoutManager的概念,支持更复杂的布局,如线性布局、网格布局和瀑布流布局等,而ListView默认只支持垂直线性布局。...缓存机制:ListView有两级缓存,但RecyclerView有四级缓存,缓存效率更高。...性能优化:RecyclerView在设计时就考虑到了更高效的性能,尤其是在处理大量数据或需要动态加载不同类型视图时。ListView在这些方面表现较为逊色。...视图更新:ViewHolder绑定了新数据后,RecyclerView利用ItemAnimator来处理这些变更的动画效果,如淡入淡出或滑动效果,最终呈现给用户。...这需要在代码中显式管理锁,可以使用synchronized关键字或显式的锁机制(如ReentrantLock),但必须小心管理以避免死锁。

    50800
    领券