圆形旋转onTouch只有在没有做任何事情后点击一次才有效。
这是我的代码:
setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
int n = 0;
postInvalidate();
for(int i=0; i<360; i++){
setRotationX(n + 1);
}
forceLayout();
我希望有人可以帮助我。 我如何查看代码以便它可以多次工作?
答案 0 :(得分:3)
如果您使用goodm解决方案,则应在清单中添加:
<supports-screens android:resizeable="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true"/>
这适用于ICS和pre-ICS。
答案 1 :(得分:1)
要做动画,你需要在res文件夹中创建一个文件夹“anim”并添加这样一个xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:duration="1000"/>
在你的java类中试试:
Animation a = AnimationUtils.loadAnimation(this, R.anim.yourAnim);
a.setAnimationListener(new AnimationListener()
{
@Override
public void onAnimationEnd(Animation animation)
{
animPlaying = false;
}
@Override
public void onAnimationStart(Animation animation)
{
animPlaying = true;
}
@Override
public void onAnimationRepeat(Animation animation){}
});
public boolean onTouch(View v, MotionEvent event)
{
int n = 0;
postInvalidate();
if(aninmPlaying == false)
{
yourView.startAnimation(a);
}
forceLayout();