Android 旋转动画
请问怎么弄控制View执行从0度旋转到45度的动画后,停止到45度这个样式这先使View设置这句android:rotation="45"然后在写动画xml文件<rota...
请问怎么弄控制View执行从0度旋转到45度的动画后,停止到45度这个样式这
先使View设置这句android:rotation="45"
然后在写动画xml文件
<rotate
android:fromDegrees="45"
android:toDegrees="89"
android:duration="500"
android:pivotX="50%"
android:pivotY="50%"
android:fillEnabled="true"
android:fillAfter="true"
/>
在高版本上可以,但是在2.3版本就不行.... 展开
先使View设置这句android:rotation="45"
然后在写动画xml文件
<rotate
android:fromDegrees="45"
android:toDegrees="89"
android:duration="500"
android:pivotX="50%"
android:pivotY="50%"
android:fillEnabled="true"
android:fillAfter="true"
/>
在高版本上可以,但是在2.3版本就不行.... 展开
1个回答
展开全部
<rotate
android:fromDegrees="45" //起始旋转的角度
android:toDegrees="89" //结束选装后的角度
android:duration="500" //执行时间为500ms
android:pivotX="50%" //距离控件左边缘50%
android:pivotY="50%" //距离控件上边缘50%(与上边结合就是控件中心)
android:fillEnabled="true"
android:fillAfter="true" //动画执行完后停留在执行完的状态
/>
—————————————————————————————————————————
当然也可以通过代码用animation实现
好久没写,应该是
RotateAnimation animation =new RotateAnimation(0f,45f,Animation.RELATIVE_TO_SELF,
0.5f,Animation.RELATIVE_TO_SELF,0.5f);
animation.setDuration(500);
view.setAnimation(animation);
更多追问追答
追问
不对,没效果
追答
//亲测效果是有的,就是没有设置动画执行完后停留在执行完的状态
---------布局文件activity_demo----------------
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/demo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
----------Demo.java-------------
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_demo);
ImageView view=(ImageView)findViewById(R.id.demo);
view.setBackgroundResource(R.drawable.hour);
RotateAnimation animation =new RotateAnimation(0f,45f,Animation.RELATIVE_TO_SELF,
0.5f,Animation.RELATIVE_TO_SELF,0.5f);
animation.setDuration(500);
//加上这句,动画就会停留在执行完毕的状态
//如果不加这句,会回到一开始的状态,所以会认为没有效果。如果把duration设置的长一点如5000ms,会看到明显的动画效果
animation.setFillAfter(true);
view.setAnimation(animation);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询