- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人知道为什么要制作动画constraintlayout.widget.Group
TransitionManager 的可见性不起作用?这个小部件不是为这些东西制作的吗?
如果在将 View 与组 分离后隐藏或显示项目,则它正在工作
<androidx.constraintlayout.widget.Group
android:id="@+id/cardHeadersGroup"
android:layout_width="0dp"
android:layout_height="0dp"
android:visibility="invisible"
app:constraint_referenced_ids="cardSystemHeader,cardSimpleHeader,cardCombinedHeader"
app:layout_constraintBottom_toBottomOf="@+id/cardCombinedHeader"
app:layout_constraintEnd_toEndOf="@+id/cardSystemHeader"
app:layout_constraintStart_toStartOf="@+id/cardSimpleHeader"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible"/>
val headersGroup = binding.cardHeadersGroup
val slideIn = Slide()
slideIn.slideEdge = Gravity.BOTTOM
slideIn.mode = Slide.MODE_IN
slideIn.addTarget(headersGroup)
TransitionManager.beginDelayedTransition(binding.root as ViewGroup, slideIn)
headersGroup.visibility = VISIBLE
最佳答案
我最近一直在使用 TransitionManager
和 ConstraintLayout.Group
并发现它非常有问题。
最终我决定转储整个 ConstraintLayout.Group
并创建了一个代码内 AnimationGroup
(类似于 in-xml
ConstraintLayout.Group
):
class AnimationGroup(vararg val views: View) {
var visibility: Int = View.INVISIBLE
set(value) {
views.forEach { it.visibility = value }
field = value
}
}
Transition
的扩展功能:
private fun Transition.addTarget(animationGroup: AnimationGroup) {
animationGroup.views.forEach { viewInGroup -> this.addTarget(viewInGroup) }
}
ConstraintLayout.Group
):
val headersGroup = AnimationGroup(
binding.cardSystemHeader,
binding.cardSimpleHeader,
binding.cardCombinedHeader
)
val slideIn = Slide()
slideIn.slideEdge = Gravity.BOTTOM
slideIn.mode = Slide.MODE_IN
slideIn.addTarget(headersGroup)
TransitionManager.beginDelayedTransition(binding.root as ViewGroup, slideIn)
headersGroup.visibility = VISIBLE
关于android - constraintlayout.widget.Group 动画不适用于 TransitionManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56769395/
我目前正在探索一种有点复杂的 UI,类似于 Google map 中使用的 BottomSheetBehaviour,其中可以将项目从折叠状态动画化为展开状态。这 2 个状态之间的转换是使用 Tran
我关注了Nick Butcher's Material Improvements I/O 2016 talk ,大约在 6:00,他开始谈论动画列表项。我已经完全按照他的方式实现了该功能,并且绑定(b
TransitionManager 假设在 beginDelayedTransition() 之后自动为容器中的所有更改设置动画。执行这段代码什么都不做: fooView.setScaleY(0);
我正在创建一个过渡。当单击按钮时,将执行以下方法。该方法改变了 ImageView 的大小和位置,并使其淡出。我正在使用 TransitionManager.beginDelayedTransitio
我正在使用概述的 TransitionManager.beginDelayedTransition here为两个 View 在 RelativeLayout 中交换位置设置动画。我通过简单地交换两个
有人知道为什么要制作动画constraintlayout.widget.Group TransitionManager 的可见性不起作用?这个小部件不是为这些东西制作的吗? 如果在将 View 与组
我正在尝试使用 ConstraintLayout结合动画上下滑动的 View 。 这些 View 是垂直组织的,带有 RecyclerView在顶部和下面堆叠的另外两个 View : [
我使用 ConstraintLayout 和 TransitionManager 的动画。 我有以下两种布局 这是我的main_activity.xml 这是我的main
我正在使用 RecyclerView 的自定义适配器,并且我需要在单击项目时展开它们。我关注了this使用Google推荐的方法来实现。扩展工作正常,但使用 TransitionManager.beg
我是一名优秀的程序员,十分优秀!