Android之MotionLayout(五),如何使用 MotionLayout的自定义属性
16lz
2021-12-04
目录
Android之MotionLayout(一),MotionLayout的基本使用
Android之MotionLayout(二),MotionScene的标签属性说明
Android之MotionLayout(三),用 MotionLayout 来做过渡动画,如何使用ConstraintSet
Android之MotionLayout(四),用 MotionLayout实现向上拉的折叠效果
Android之MotionLayout(五),如何使用 MotionLayout的自定义属性
Android之MotionLayout(六),如果使用Keyframes实现实现YouTube切换效果
MotionLayout
控件只会检测标准属性和ConstraintLayout
属性这类布局相关的属性变动,对于其他的属性变动,如 View 的背景颜色变动是无法检测出来的,因此就需要使用自定义属性
在
元素中使用
子元素来指定自定义属性。
我们先看下效果:
custom-attribute.gif
第一步我们还是要创建一下布局activity_custom_attr.xml
<?xml version="1.0" encoding="utf-8"?>
第二步创建scene_custom.xml
<?xml version="1.0" encoding="utf-8"?>
这样就完成了
元素属性说明:
app:attributeName
属性用来指定自定义属性的名字(例如 "backgroundColor
")。
注意
:关联的 View 必须要有一对与这个名字相关的getter/setter
方法(例如 getBackgroundColor()/setBackgroundColor(int color))
剩下的其他属性都是用来设置自定义属性的值的。需要根据自定义属性的值类型使用以下 XML 属性之一来设置自定义属性的值:
-
app:customColorValue
:设置属性的值(颜色类型)。 -
app:customColorDrawableValue
:设置属性的值(颜色类型)。 -
app:customIntegerValue
:设置属性的值(整数类型)。 -
app:customFloatValue
:设置属性的值(浮点类型)。 -
app:customStringValue
:设置属性的值(字符串类型)。 -
app:customDimension
:设置属性的值(尺寸类型)。 -
app:customPixelDimension
:设置属性的值(尺寸类型)。 -
app:customBoolean
:设置属性的值(布尔类型)
结语
MotionLayout系列到这一章算是结束了,如果大家想更近一步的学习MotionLayout,这里给大家推荐三篇文章
- 《「译」MotionLayout 介绍 (part II)》
- 《「译」MotionLayout介绍 (part III)》
- 《「译」 MotionLayout 介绍 (Part IV) 深入理解关键帧》
(每天学习一点点.每天进步一点点,分享不宜路过点个赞呀,喜欢的点个关注后续更新不断)
更多相关文章
- Android之MotionLayout(一),MotionLayout的基本使用
- android 5.0 默认水波纹背景属性,可设置不论什么View
- Android(安卓)DrawerLayout 侧边栏使用之道
- android ListView嵌套checkbox并取代checkbox点击事件
- Android重要控件概览(上)
- android设置textview限制字数以省略号显示的方法
- android 让一个控件按钮居于底部的几种方法
- Android(安卓)动画中共用的属性!
- Android(安卓)控件 ListView