一搏网站开户:Kotlin实现Android RecyclerView炫酷动画!

本文来源:http://www.344378.com/tech_huanqiu_com/

www.msc77.com,DAX30指数收涨0.85%,报10775.32点。  针对即将到来的意大利宪法公投,欧洲央行表示,很难对意大利公投结果准备应对策略。原油在50.7与51.1加仓空单回落50.3平仓收割利润,回落最低到达49.7美元/桶,如期见延续性回调!黄金早盘1170一线精准空,守高点阻力1176一线做空单,如期回落到位1165附近获利数钱。1880年,他与爱丽斯举行婚礼,但不幸的是,他妻子生完孩子不久即病逝,祸不单行,他母亲也随之离开人世。

  夏季布拉戈维申斯克与黑河之间是轮渡来往。  还有一部分趋势行情,是走三步退两步,反复震荡前行,刚有了利润吧,结果行情正常逆向震荡,变为了亏损。触及一个月高位,尽管之后丢掉了所有的涨幅。【环球网综合报道记者赵衍龙】有着“亚洲新一代赌王”之称的香港上市公司集美国际娱乐集团主席林英乐,因在菲律宾涉嫌贿赂及破坏经济,12月3日遭到菲总统杜特尔特的下令拘捕。

和讯网积聚十五年专业精神,在跨越发展的征途中不断创造一个又一个奇迹。目前,案件正在进一步侦办中。罗斯福5岁时跟随父亲去见当时的总统克利夫兰,总统曾给他一个奇怪的祝愿:祈求上帝永远不要让你当美国总统。据悉,由农业银行组建宣讲团赴基层开展巡回宣讲,这在农行历史上尚属首次,这也是农业银行推动十八届六中全会精神学习贯彻工作从机关向基层拓展、从领导干部向普通员工延伸的重要举措。

在完成app的编码之后,对于一个要求美观的现代App来说,仅仅实现功能是不够的,我相信很多人都赞同这一点,如今,应用程序应该包括UI/UX、过渡动画和客户端。今天,我将尝试解释其中之一,也就是RecyclerView的item动画,我将使用Android Studio和Kotlin进行开发,希望你编码愉快~

从基础开始

首先,你需要创建一个anim文件夹来存放动画资源文件

res(right-click)->New->Android Resource Directory

设置名称为anim

完成之后,右击anim文件夹,创建Animation Resources文件:

属性说明

当创建完Animation Resources 文件之后,你会看到一些属性,我将一一解释这些属性,然后将创建我们自己的动画:

-Translate

Translate主要用于在x和y轴上移动项目。它具有以下一些属性:

FromXDeltafromYDelta表示item来自哪个方向。如果您为“fromXDelta”设置一个正值,它将来自屏幕的右侧。ToDelta属性表示该item将在何处停止。通常,我将toDelta属性设为0%。因为即使在动画持续时间结束时将其设置为“ -100%”,该项目也会返回到屏幕,效果看起来不太好。最后,duration就是动画持续时间,我们来看一个带有translate属性的动画

?

-Alpha

Alpha用于确定不透明度,这个属性主要用于淡入淡出(fade in/out)动画,如下:

淡入淡出(fade in/out)动画可以用fromAlphatoAlpha来实现,如果使用上图中的这些值可以实现如下动画:

?

-Rotate

从名称就知道,Rotate属性用于RecyclerView item 的旋转动画

这个属性一开始也让我感到困惑,因此,我将尽最大努力来解释,fromDegrees代表item开始的角度,toDegrees为停止的角度,如上面的图,item将从270°开始,逆时针旋转。pivot属性根据值来固定item(也就是旋转中心),例如:如果你设置pivotX:100%?和?pivotY:0%,并且fromDegrees: 90°它将item固定在右上角并相应旋转。动画如下:

-Scale

scale属性用于将视图放大或者缩小,它的属性比其他几个动画的属性都要多,如下:

Pivot在这里有不同的作用,两个pivot属性设置为50%表示视图的中心点,我这样设置是想从视图的中心开始放大,fromScaletoScale用于缩放视图,原始尺寸为1,开始尺寸为0,上图的属性值动画如下:

设置动画

holder.shopDetailParent.animation?=
????AnimationUtils.loadAnimation(holder.itemView.context,?R.anim.example_anims)

首先,你需要定义你想做动画的视图,也就是RecyclerView Adapter 中的item,然后那你可以将上面的代码片段加入到Adapter的OnBindViewHolder?方法中来设置动画,我想为整个item设置动画,因此,我定义了一个shopDetailParent卡片视图,example_anims是动画文件,你需要在代码中编写自己的动画文件。

一些漂亮的动画示例

/Animation?One/
<translate
????android:fromYDelta="100%"
????android:toYDelta="0%"
????android:duration="500"
????/>

<alpha
????android:fromAlpha="0.0"
????android:toAlpha="1.0"
????android:duration="500"/>

<scale
????android:pivotX="50%"
????android:pivotY="50%"
????android:fromXScale="0.5"
????android:fromYScale="0.5"
????android:toXScale="1"
????android:toYScale="1"
????android:duration="500"

????/>

?

/Animation?Two/
<translate
????android:fromXDelta="200%"
????android:toYDelta="0%"
????android:duration="500"
????/>

<scale
????android:pivotX="50%"
????android:pivotY="50%"
????android:fromXScale="0"
????android:fromYScale="0"
????android:toXScale="1"
????android:toYScale="1"
????android:duration="500"

????/>

?

/Animation?Three/
<translate
????android:fromXDelta="200%"
????android:toYDelta="0%"
????android:duration="500"
????/>
<alpha
????android:fromAlpha="0.0"
????android:toAlpha="3.0"
????android:duration="2500"/>

插值器

我们还有最后一个要讲的属性-插值器,插值器是动画表现的基础,通常,我们的动画默认使用的是线性插值器,该插值器在动画的每一帧上均匀地移动视图,如下(其他插值器,可以去/jebware_com/interp/android-animation-interpolators.html查看)

其他插值器有不同的运动曲线,我将向你展示如何添加插值器,并展示一些示例,然后你可以自己尝试。你所要做的就是将此行代码添加到你的动画集合中。

android:interpolator="@android:anim/decelerate_interpolator"

Decelerate插值器将使项目从屏幕的右侧出现,并在它们接近最终位置时放慢它们的速度。

Decelerate Interpolator:

?

Bounce Interpolator:

Overshoot Interpolator:

以下列出了developer.android上的所有插值器,同样,你也可以自己定义插值器

感谢阅读,我希望本文能帮助你理解和实现一些精美的RecyclerView动画。

原文链接:/levelup_gitconnected_com/android-recyclerview-animations-in-kotlin-1e323ffd39be

已标记关键词 清除标记
??2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 www.msc77.com
www.tyc599.com 申博亚洲太阳城娱乐直营网 菲律宾申博直营现金网 www.55psb.com www.38818.com www.60705.com
申博微信支付充值 申博现金网直营 下载申博太阳娱乐直营网 www.6677shenbo.com 申博百家乐 www.3158msc.com
太阳网上娱乐登入 申博电子游戏手机能玩吗 申博电子游戏备用网址 www.99sbc.com 申博太阳开户优惠直营网 www.shenbo2.com