怎么使用Android itemDecoration接口实现吸顶悬浮标题


这篇“怎么使用AndroiditemDecoration接口实现吸顶悬浮标题”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用AndroiditemDecoration接口实现吸顶悬浮标题”文章吧。1.设置一个悬浮的视图挂在recycleView顶部,随着item的移动位置,悬浮标题自动跟随移动或者是保持原地不动。2.使用recyclerView的ItemDecoration,给指定的item设置不同的itemDecoration,并且跟随item的移动而移动或者保持不变。免费云主机域名本文采用第二种方式实现,效果图:这是个接口,一共有六个方法:
*IfthisItemDecorationdoesnotaffectthepositioningofitemviews,itshouldset
*allfourfieldsofoutRect(left,top,right,bottom)tozero
*beforereturning.
*
*
*IfyouneedtoaccessAdapterforadditionaldata,youcancall
*{@linkRecyclerView#getChildAdapterPosition(View)}togettheadapterpositionofthe
*View.
*
*@paramoutRectRecttoreceivetheoutput.
*@paramviewThechildviewtodecorate
*@paramparentRecyclerViewthisItemDecorationisdecorating
*@paramstateThecurrentstateofRecyclerView.
*/
publicvoidgetItemOffsets(RectoutRect,Viewview,RecyclerViewparent,Statestate){
getItemOffsets(outRect,((LayoutParams)view.getLayoutParams()).getViewLayoutPosition(),
parent);
}
/**
*@deprecated
*Override{@link#onDrawOver(Canvas,RecyclerView,RecyclerView.State)}
*/
@Deprecated
publicvoidonDrawOver(Canvasc,RecyclerViewparent){
}
/**
*@deprecated
*Override{@link#onDraw(Canvas,RecyclerView,RecyclerView.State)}
*/
@Deprecated
publicvoidonDraw(Canvasc,RecyclerViewparent){
}
/**
*@deprecated
*Use{@link#getItemOffsets(Rect,View,RecyclerView,State)}
*/
@Deprecated
publicvoidgetItemOffsets(RectoutRect,intitemPosition,RecyclerViewparent){
outRect.set(0,0,0,0);
}
}其中有三个方法是@deprecated的,那么我们只需要看以下三个方法:第一个方法的意思是绘制分割线本身;第二个方法是在item项目绘制完成之后进行的绘制操作(这个会覆盖在item上面);第三个方法是设置分割线的左间距,上间距,右间距,下间距,保存在outRect中。如图所示:其中最底层黄色部分大小是getItemOffsets方法返回的itemDecoration的矩阵设置边距宽度,onDraw方法根据设置的间距宽度来进行绘制黄色区域,其中棕红色部分是onDrawOver方法覆盖绘制在item上层的部分。我们给每个需要title的item设置rect.top = titleHeight(标题栏高度);其他的间距可以先不考虑,不重要;重写onDraw方法,绘制我们的itemDecoration标题栏;我们需要重写onDrawOver方法,在滑动的时候去判断,1)如果顶部标题区域是在该标题的items范围之内的滑动的话,那么我们需要覆盖绘制一个处于recyclerView.getpaddingTop位置的title,这样的话这个范围内滑动就有一个悬停的标题栏;2)如果顶部的标题栏区域恰好下面紧跟着下一个标题栏,那么继续向上滑动的时候,需要下面的标题栏把上面的标题栏顶出界面之外。那么绘制的顶部标题栏的起始位置就是所处的item.bottom – titleHeight的位置。使用以上三个步骤就可以做出一个流畅并且定制化很高的悬浮标题栏功能了。以上就是关于“怎么使用AndroiditemDecoration接口实现吸顶悬浮标题”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注百云主机行业资讯频道。

相关推荐: 如何使用vue-prop实现父组件向子组件进行传值

这篇文章主要讲解了“如何使用vue-prop实现父组件向子组件进行传值”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用vue-prop实现父组件向子组件进行传值”吧!vue-prop是父组件向子组件进行传…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/22 12:09
下一篇 02/22 13:30

相关推荐