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

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

前言 小伙伴们,在上文中我们介绍了Android视图组件RecyclerView,本文我们继续盘点,介绍一下视图控件ScrollView。...ScrollView,只能包含一个直接子视图(ViewGroup),通常是一个垂直方向线性布局或相对布局。如果需要水平滚动效果,可以使用HorizontalScrollView作为替代。...二 ScrollView使用方法 XML布局文件定义ScrollView容器。需要可滚动内容区域内添加ScrollView标签,并指定其宽度、高度以及其他属性。...android:fadeScrollbars:控制滚动条是否不活动状态渐隐。设置为true表示滚动渐隐,默认为false。.../> 五 总结 由于ScrollView一次性将全部内容加载到内存,对于特别庞大视图可能导致性能问题。

33920

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

前言 小伙伴们,在上文中我们介绍了Android视图组件Gallery,本文我们继续盘点,介绍一下视图控件RecyclerView。...一 RecyclerView基本介绍 RecyclerViewAndroid支持库一个强大视图容器,用于显示和管理大量数据集合列表或网格。它是目前推荐使用替代方式之一。...二 RecyclerView使用方法 项目的build.gradle文件添加RecyclerView依赖: implementation 'androidx.recyclerview:recyclerview...android:layout_width和android:layout_height:设置RecyclerView宽度和高度。...复用机制:RecyclerView引入了ViewHolder模式,可以重复利用子项视图滚动过程减少布局操作,提高性能。

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

Android开发笔记(一百三十五)应用栏布局AppBarLayout

RecyclerView是其中一个特工,它可用来替代ListView和GridView;替代ScrollView则另有其人,它便是嵌套滚动视图NestedScrollView,Android5.0之后...所以,搜遍AndroidSDK源码,总共也只有三个控件符合这个条件,它们是RecyclerView、NestedScrollView,以及SwipeRefreshLayout,布局文件中使用名称如下所示...1、AppBarLayout滚动依赖于主体视图滚动,与主体视图相对应,可将AppBarLayout称作头部视图。既然一个页面分为头部和主体两部分,那么就存在谁先滚谁后滚问题了。...3、大家都知道ViewPager是左右滚动翻页视图,用户通过手势把页面横向拉动一段距离后松开,系统判断接下来是自动左滚还是自动右滚,总之最后用户看到是一个完整页面,而不是拉到一半页面。...具体滚动说明如下所示: 向上滚动:头部先往上收缩,一直滚到折叠最小高度。然后头部与主体先一起滚动,头部滚到位后,主体继续向上。 向下滚动:头部与主体先一起滚动,一直滚到头部折叠最小高度

1.9K40

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

一 ListView基本介绍 ListView是Android开发中常用列表视图控件,用于展示垂直滚动可变长度数据列表。...推荐项目中使用RecyclerView,它提供了更多定制选项和优化功能。...android:listSelector:设置当列表项被选中背景效果,可以是颜色值或者drawable资源。...适配器: RecyclerViewRecyclerView是取代ListView新一代列表视图控件。它提供了更强大和灵活功能,例如支持横向滚动、网格布局、瀑布流布局等。...同时,你还可以添加点击事件监听器来处理ListView列表项交互操作。 五 总结 istView是Android开发中常用列表视图控件,用于展示大量数据并实现用户垂直滚动浏览。

47510

Recyclerview竟能如此丝滑,这14个优化策略不容错过...

引言 Android开发RecyclerView是一种常用列表控件,用于展示大量数据。然而,随着数据量增加,RecyclerView性能可能会受到影响,导致卡顿、内存泄漏等问题。...减少绘制: 尽可能减少视图绘制次数,避免过度绘制带来性能消耗。 滑动优化: 滑动过程,尽可能减少耗时操作,避免影响滑动效果。 预加载: 预加载即将显示视图,提高展示性能。...:text="Text" /> 启用setHasFixedSize 设置 setHasFixedSize(true) 后,RecyclerView假设所有的Item高度是固定,不会因为...这个方法主要用于RecyclerView预取机制,用于滑动过程预取与当前位置相邻Item数据,提高滑动流畅度。...,例如释放ViewHolder图片资源、移除监听器等,以便在ViewHolder被回收及时释放相关资源,避免内存泄漏和资源浪费。

60310

Android仿简书搜索框效果示例代码

前言 之前用简书时候一直是web端,后来下载了客户端,看到了搜索那个动画,就尝试去写了,没写之前感觉挺容易,写了之后,就感觉里面还是有些要注意东西。话不多说,直接上图。 ?...mHeaderHeight=Px2DpUtil.dp2px(this,R.dimen.d_120); RecyclerView 滚动监听: mRecyclerView.addOnScrollListener...(); //获取第一个可见视图position int position = l.findFirstVisibleItemPosition(); //获取第一个完全可见视图...对标题栏执行透明度变化 if (position == 0) { //计算滚动距离占header高度比例 double delta = Math.floor...); //获取第一个可见View高度 int itemHeight = firstVisiableChildView.getHeight(); return (position

94230

Android开发笔记(一百三十六)可折叠工具栏布局CollapsingToolbarLayout

上述属性代码设置方法如下所示: setContentScrim/setContentScrimColor/setContentScrimResource : 设置布局内部未展开背景颜色。...声明工具栏滚动行为标志; 其实真正运行时候,Toolbar高度是固定不变,变化高度是CollapsingToolbarLayout。...下面是Toolbar采用parallax模式效果图,可以看到红色区域随着滚上去再滚下来。因为折叠系数设置为0.1,所以其效果近似于none模式。 ?...下面是标题栏折叠显示渐变图片效果图: ?...具体滚动说明如下所示: 向上滚动:头部先往上收缩,一直滚到折叠最小高度。然后头部与主体先一起滚动,头部滚到位后,主体继续向上。 向下滚动:头部与主体先一起滚动,一直滚到头部折叠最小高度

3.1K30

Android-UI布局---RecyclerView学习(二)利用它做相册集效果

这个代码在网上有, 横向ListView功能,参考Android 自定义RecyclerView 实现真正Gallery效果 首先说布局文件: RecyclerView视图item布局: 这个布局下面是高度120dp 宽度填充父窗体,然后整个手机屏幕多余空间都给了上面的imageview 视图 接下来是就是视图自定义...*滚动,判断当前第一个View是否发生变化,发生才回调 */ @Override public void onScrolled(int arg0, int arg1) { View...需要学习第二个知识点就是:在对应activity关于RecyclerView 使用 RecyclerView使用代码: //找到对应视图控件 mRecyclerView = (MyRecyclerView...而RecyclerView基本需要上面一系列步骤,那么为什么添加这么多步骤呢?

1.3K30

深入浅出 RecyclerView

ListView设置 divider 非常简单,只需要在 XML 文件设置就可以了,同时还可以设置 divider 高度。...当我每个 item 视图之间强行插入绘画了一段 Drawable,那么如果再照着原本逻辑去绘 item 视图,就会覆盖掉 Decoration 了,所以需要getItemOffsets()这个方法...ItemAnimator 每一个 item 特定情况下都会执行动画。说是特定情况,其实就是视图发生改变,我们手动调用notifyxxxx()时候。...而 RecyclerView 是返回一个 ViewHolder 并且不是直接将这个 holder 加入到视图内部,而是加入到一个缓存区域,视图需要时候去缓存区域找到 holder 再间接找到 holder...RecyclerView 内部维护了一个二级缓存,滑出界面的 ViewHolder 暂时放到 cache 结构,而从 cache 结构移除 ViewHolder,则会放到一个叫做RecycledViewPool

1.7K60

CoordinatorLayout使用全解析

exitUntilCollapsed:当你定义了一个minHeight,此布局将在滚动到达这个最小高度时候折叠。 snap:当一个滚动事件结束,如果视图是部分可见,那么它将被滚动到收缩或展开。...,它可以控制包含在CollapsingToolbarLayout控件(如:ImageView、Toolbar)响应layout_behavior事件作出相应scrollFlags滚动事件(移除屏幕或固定在屏幕顶端...应该说MDRecyclerView代替了ListView,而NestedScrollView代替了ScrollView,他们两个都可以用来跟ToolBar交互,实现上拉下滑ToolBar变化。...RecyclerView或者任意支持嵌套滚动view比如NestedScrollView上添加app:layout_behavior。...exitUntilCollapsed: 同样顾名思义,这个flag定义何时退出,当你定义了一个minHeight,这个view将在滚动到达这个最小高度时候消失。

1.9K20

RecyclerView各种版本兼容问题处理集锦

RecyclerView固然功能强大,然而使用过程时常发生各种兼容性问题,,兹记录处理办法如下,方便大家查阅: 1、若在ADT调用RecyclerView,可能app运行时会报错“Caused...,版本号21.0.0子目录中找到recyclerview-v7-21.0.0.aar,该aar文件其实是个压缩文件,解压该文件可得到classes.jar,将该jar包更名并加入到你工程,上面的运行错误应该就没有了...2、23.2.0之前版本上,RecyclerView默认充满整个屏幕下方,即使布局文件中将其高度设置为wrap_content,循环视图依旧霸气地填充到屏幕底部,导致它后面的其它视图都显示不了了...该问题已明确是RecyclerView兼容包bug,Android官方23.2.0及其之后版本已经修复了,所以如果代码中有用到RecyclerView,需确保build.gradlerecyclerview-v7...要解决这个问题,得notifyItemInserted方法调用之后,再调用循环视图对象scrollToPosition(0)方法,表示滚动到第一条记录。

2.6K20

Material Design 实战 之第四弹 —— 卡片布局

其中, scroll 表示当RecyclerView向上滚动,Toolbar跟着一起向上滚动并实现隐藏; enterAlways 表示当RecyclerView向下滚动...,Toolbar跟着一起向下滚动并重新显示; snap 表示当Toolbar还没有完全隐藏或显示根据当前滚动距离,自动选择是隐藏还是显示。...其中, scroll表示当RecyclerView向上滚动,Toolbar跟着一起向上滚动并实现隐藏; enterAlways表示当RecyclerView向下滚动,Toolbar跟着一起向下滚动并重新显示...; snap表示当Toolbar还没有完全隐藏或显示根据当前滚动距离,自动选择是隐藏还是显示。...又会根据当前滚动距离情况,做出消失或者重新出现反应; 这其实也是MaterialDesign一项重要设计思想,因为当用户向上滚动RecyclerView时候,其注意力肯定是RecyclerView

2.1K10

自定义 Behavior,实现嵌套滑动、平滑切换周月视图日历

布局,对子控件配置 app:layout_behavior 属性,实现对应联动效果。所以这里我们需要自定义日历和列表两个 Behavior。 Behavior 有两种实现联动方式。...= 0; } onNestedPreScroll 这个方法是准备滚动之前调用,它带有滚动偏移量 dy。...滚动,日历也向上滚动,最多到当前选中日期那一行,滚动范围和当前选中日期有关。...惯性滑动 上面效果可以看出一个问题,当滑动到一半时候松手,应该要恢复到完整视图位置。这里包含了,快速滑动后惯性滑动到指定位置效果,和没有快速滑动,往就近指定位置滑动这两种效果。...由于我们滚动折叠效果是 onNestedPreScroll 实现,所以要想办法触发这个方法。

3.1K10

CoordinatorLayout+AppBarLayout实现上滑隐藏ToolBar-Android M新控件

滚动事件,那么CoordinatorLayout布局里其它标记了app:layout_behavior子View(LinearLayout、RecyclerView、NestedScrollView...滚动事件,那么当LinearLayout滚动便可触发ToolBarlayout_scrollFlags效果 即往上滑动隐藏ToolBar,下滑出现ToolBar,而不会隐藏TabLayout,因为...enterAlwaysCollapsed 当你视图已经设置minHeight属性又使用此标志,你视图只能已最小高度进入,只有当滚动视图到达顶部才扩大到完整高度 exitUntilCollapsed...固定Tab,TabLayout居中显示 ? 可滑动Tab ?...并且给这些组件设置如下属性来告诉CoordinatorLayout,该组件是带有滑动行为组件,然后CoordinatorLayout接受到滑动时会通知AppBarLayout 可滑动Toolbar

2K30
领券