如何在android应用程序中在自己的轴上旋转圆形图像按钮?
我有以下动画代码:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="100"
android:duration="1000" />
</set>
//imageButton 布局代码
<ImageButton
android:id="@+id/anime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/start"
android:layout_centerHorizontal="true"
android:paddingLeft="10dip"
android:paddingTop="150dip"
android:paddingBottom="10dip"
android:paddingRight="10dip"
android:background="@null"
>
</ImageButton>
但是,我的圆形图像按钮没有在自己的轴上旋转。相反,它遵循一条圆形路径。谁能帮我修复这个动画吗?
谢谢。
I have the following animation code :
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="100"
android:duration="1000" />
</set>
//imageButton layout code
<ImageButton
android:id="@+id/anime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/start"
android:layout_centerHorizontal="true"
android:paddingLeft="10dip"
android:paddingTop="150dip"
android:paddingBottom="10dip"
android:paddingRight="10dip"
android:background="@null"
>
</ImageButton>
However, my circular image button is not rotating on its own axis. Rather, its following a circular path. Can anyone kindly help me out fix this animation ?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
动画中的枢轴计算考虑了 ImageView 的填充。由于填充不规则(顶部填充与其余侧面不同),动画的枢轴未与图像的真实中心对齐。
The pivot calculation in the animation is taking into account the padding of the ImageView. Since the padding is irregular (the top padding is different from the rest of the sides) the pivot of the animation is not aligned with the real center of your image.
imagebutton
的填充应该是统一的。the padding for the
imagebutton
should be uniform.