如何解决动画布局的setRotation属性
可以使用android中的RotateAnimation
对象旋转视图,但是使用此类似乎只能在视觉上旋转视图,例如单击旋转视图(用除中心以外的枢轴旋转的旋转视图)实际上不会单击该视图,该视图仍处于其原始位置,但仅在其他地方视觉上。
因此,为了将视图及其子视图旋转到新位置,我找到了使用layout.setRotation(angle)
的解决方案,在我的情况下layout
是constraintLayout
则必须旋转180
。
但是,问题是,我无法对此进行动画处理,我想从0
到180
平滑过渡,但只能捕捉到180度。如何为该属性或旋转设置动画?
解决方法
在约束布局内的.xml文件中,添加以下代码。
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"/>
MainActivity.java:
ConstraintLayout constraintLayout = findViewById(R.id.layout);
constraintLayout.animate().rotation(100).setDuration(2000);
唯一的问题是您忘记在.rotation()之前添加.animate(),这就是为什么它不起作用的原因。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。