2 qq 22202859 qq_22202859 于 2016.09.20 15:16 提问

ImageView 旋转动画问题 5C

RotateAn = new RotateAnimation(0f,360f,Animation.RELATIVE_TO_SELF,
0.5f,Animation.RELATIVE_TO_SELF,0.5f);
RotateAn.setInterpolator(new LinearInterpolator());
RotateAn.setRepeatCount(-1);
RotateAn.setFillAfter(true);
RotateAn.setDuration(4000);
shake_img.startAnimation(RotateAn);

            开启动画后怎么不是以view的中心点自转 而是公转

5个回答

shen_wei
shen_wei   Ds   Rxr 2016.09.20 15:28
qq_22202859
qq_22202859 问题是我就是怎么写的啊???这个资料我早看过了。
接近 2 年之前 回复
shen_wei
shen_wei   Ds   Rxr 2016.09.20 15:28

详细的,你还是自己看看吧。。。

waterhexuan
waterhexuan   2016.09.20 16:03

在Animator中需要通过View.setPivotX和View.setPivotY方法手动给View设置中心点。
imageView.setPivotX(10);
imageView.setPivotY(10);
//是指以ImageView为坐标系(10,10)位置

qq_22202859
qq_22202859 shake_img.setPivotX(shake_img.getWidth()/2); shake_img.setPivotY(shake_img.getHeight()/2); 我图片是正方形 我这样试过了但是没用。谢谢
接近 2 年之前 回复
u011249920
u011249920   2016.09.20 17:45

我是在xml里设置的,可以阿
<?xml version="1.0" encoding="utf-8"?>

<rotate
    android:duration="1000"
    android:fromDegrees="0"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="+360" />

qq_22202859
qq_22202859 原因找到了 因为设置过View.setVisibility(View.GONE)然后再设置View.setVisibility(View.VISIBLE) 就就变成公转了 我把View隐藏设置成setVisibility(View.INVISIBLE)就不会公转。可能是设置GONE后把View的大小改变了。感谢你的回答。
接近 2 年之前 回复
qq_22202859
qq_22202859   2016.09.20 18:17

原因找到了 因为设置过View.setVisibility(View.GONE)然后再设置View.setVisibility(View.VISIBLE) 就就变成公转了 我把View隐藏设置成setVisibility(View.INVISIBLE)就不会公转。可能是设置GONE后把View的大小改变了 求哪位大神告知具体原因,谢谢

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
android自定义ImageView实现旋转动画
android自定义ImageView实现旋转动画
Android实现ImageView的旋转动画
本文主要介绍如何使用RotatationAnimation和ObjectionAnimation实现ImageView不同旋转的动画。
UIImageView旋转动画
_loadingView = [[UIImageView alloc]initWithFrame:CGRectMake(150, 300, 50, 50)];     _loadingView.image = [UIImage imageNamed:@"22"];     [self.view addSubview:_loadingView];     CABasicAn
Swift 旋转动画 (设置的ImageView的旋转动画)
Swift 旋转动画 import UIKitclass VisitorView: UIView { // MARK:- 提供快速通过xib创建的类方法 class func visitorView() -> VisitorView { return NSBundle.mainBundle().loadNibNamed("VisitorView", owner: nil, option
实战以中心点旋转UIImageView 360度
其实这个网上很多这样的例子,我也是借鉴网上做的,这里只是备份下. 直接上代码 1.先创建一个UIImageView. - (void)createImageView {     UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, frame.size.width, frame
Android UI:看看Google官方自定义带旋转动画的ImageView-----RotateImageView怎么写(附 图片淡入淡出效果)
众所周知,想要让ImageView旋转的话,可以用setRotation()让其围绕中心点旋转,但这个旋转是不带动画的,也就是旋转屏幕时图片噌的一下就转过去了,看不到旋转的过程,此UI体验不大好,为此需要自定义带旋转动画的ImageView.虽然Google SDK里基本控件里没有,但在Camera的原生APP代码里却给出了带旋转动画的ImageView,即今天的主角:RotateImageVie
Android中如何使用rotate实现图片不停旋转的效果与动画的停止
本文主要介绍Android中如何使用rotate实现图片不停旋转的效果。Android 平台提供了两类动画,一类是 Tween 动画,即通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果;第二类是 Frame 动画,即顺序播放事先做好的图像,跟电影类似。本文分析 Tween动画的rotate实现旋转效果。   在新浪微博客户端中各个操作进行中时activity的右上角都会
Android UI之ImageView旋转的几种方式
我整理了一下,大概有四种,亲测成功三种。 第一种效率较低,不过看许多博客都使用这种方法,即旋转bitmap: Bitmap bitmap = ((BitmapDrawable)getResources().getDrawable(R.drawable.ic_launcher)).getBitmap(); Matrix matrix = new Matrix(); matrix.setR
android 围绕中心旋转动画
1、定义一个ImageView 定义一个ImageView是为了装载图片,其中的图片将被rotate用来进行旋转,其他View亦可。 资源文件为 Java代码 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="mat
AnimationDrawable 实现正在加载的旋转动画
先看效果吧 效果: 要实现这样的效果  就是中间的那个   正在拼命加载数据中  然后是那个动画在不停的旋转, 其实这个过程      是在你访问网络数据请求的时候,出现的,一般只停留几秒钟的效果    看了效果图,接下来介绍下这个如何实现的,首先我们需要去了解他的原理,我这里面使用的是:AnimationDrawable  原理: Drawable anima