[我使用了试验2-'缩放'方法,并在实际的XML布局中设置了以下textview属性(在MotionScene XML上不设置)。>>
android:transformPivotX="0dp"
android:transformPivotY= Equal to 1/2 of the size of the text view in expanded mode.
我正在尝试使用CollapsingToolbar
创建MotionLayout
动画。
我已经成功制作了所有动画,使其表现得像CollapsingToolbar
一样具有高度的灵活性,这意味着我可以轻松地编写出色的动画而无需编写大量代码。
我的问题是无论我尝试了什么;我无法自然调整标题TextView
的大小。
我当前正在使用ConstraintLayout
版本2.0.0-beta3
Trial#1
[CustomAttribute
of textSize
]
<ConstraintSet android:id="@+id/dish_fragment_expanded_set">
...
<Constraint
android:id="@+id/dish_fragment_title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginTop="20dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/dish_fragment_cover_image">
<CustomAttribute
app:attributeName="textSize"
app:customFloatValue="24" />
</Constraint>
...
</ConstraintSet>
<ConstraintSet android:id="@+id/dish_fragment_collapsed_set">
...
<Constraint
android:id="@id/dish_fragment_title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
app:layout_constraintBottom_toBottomOf="@+id/dish_fragment_navigation_icon"
app:layout_constraintStart_toEndOf="@+id/dish_fragment_navigation_icon"
app:layout_constraintTop_toTopOf="@id/dish_fragment_navigation_icon">
<CustomAttribute
app:attributeName="textSize"
app:customFloatValue="16" />
</Constraint>
...
</ConstraintSet>
[结果] >>
上面的解决方案有效,但是文本在移动时闪烁,这意味着动画不流畅。
Trial#2
[scaleX
&scaleY
] >>
] >><ConstraintSet android:id="@+id/dish_fragment_expanded_set"> ... <Constraint android:id="@+id/dish_fragment_title_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="16dp" android:layout_marginLeft="16dp" android:layout_marginTop="20dp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/dish_fragment_cover_image" android:scaleX="1" android:scaleY="1"/> ... </ConstraintSet>
<ConstraintSet android:id="@+id/dish_fragment_collapsed_set"> ... <Constraint android:id="@id/dish_fragment_title_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="12dp" app:layout_constraintBottom_toBottomOf="@+id/dish_fragment_navigation_icon" app:layout_constraintStart_toEndOf="@+id/dish_fragment_navigation_icon" app:layout_constraintTop_toTopOf="@id/dish_fragment_navigation_icon" android:scaleX="0.70" android:scaleY="0.70"/> ... </ConstraintSet>
[结果
上面的解决方案更改了大小,但没有更改布局参数,这意味着它破坏了约束,使我无法与导航图标正确对齐。
我更喜欢继续使用MotionLayout
,因为使用CollapsingToolbar
创建流畅而细腻的动画是一场噩梦。
我正在尝试使用MotionLayout创建CollapsingToolbar动画。我已经成功制作了所有动画,使其表现得像CollapsingToolbar一样具有高度的灵活性,这意味着我...
[我使用了试验2-'缩放'方法,并在实际的XML布局中设置了以下textview属性(在MotionScene XML上不设置)。>>
android:transformPivotX="0dp"
android:transformPivotY= Equal to 1/2 of the size of the text view in expanded mode.
这将更改文本视图缩放所围绕的枢轴点。
[我使用了试验2-'缩放'方法,并在实际的XML布局中设置了以下textview属性(在MotionScene XML上不设置)。>>
android:transformPivotX="0dp"
android:transformPivotY= Equal to 1/2 of the size of the text view in expanded mode.