2016-12-05 4 views
-1

Я хотел бы взять изображение, которое имеет бабочку png и анимировать ее, поэтому похоже, что бабочка движется своими крыльями.Мультфильм бабочки на Imageview Android

Как я могу получить этот эффект с помощью родной анимации Android?

enter image description here

+2

Вы что-то устали? – Gattsu

+0

Я пробовал создать анимацию с переворотом kindda, но ее не очень хорошо, возможно, пытаясь найти Lib, который может помочь. –

+1

Я использую gif. Вы не можете использовать gif? – MikeKeepsOnShine

ответ

0

Я сделал, что в прошивке, так что вы должны масштабировать его и масштабировать его вниз с помощью таймера.

0

Использование Glide Простой пример:

ImageView iView = (ImageView) findViewById(R.id.test_image); 
if (iView != null) 
Glide.with(this).load("http://i.imgur.com/1ALnB2s.gif").asGif().into(iView); 

Подробный пример

// For a simple view: 
@Override public void onCreate(Bundle savedInstanceState) { 
    ... 
    ImageView imageView = (ImageView) findViewById(R.id.my_image_view); 

    Glide.with(this).load("http://some image link").into(imageView); 
} 

// For a simple image list: 
@Override public View getView(int position, View recycled, ViewGroup container) { 
    final ImageView myImageView; 
    if (recycled == null) { 
    myImageView = (ImageView) inflater.inflate(R.layout.my_image_view, container, false); 
    } else { 
    myImageView = (ImageView) recycled; 
    } 

    String url = myUrls.get(position); 

    Glide 
    .with(myFragment) 
    .load(url) 
    .centerCrop() 
    .placeholder(R.drawable.loading_spinner) 
    .crossFade() 
    .into(myImageView); 

    return myImageView; 
} 

Выход:

enter image description here

GitHub Link

Wiki Link

+1

Большое вам спасибо за помощь, к сожалению, я не могу использовать gifs. –

1

Он работал, это то, что я сделал, первый я использовал Glide, чтобы загрузить мой IMG, то я создал анимацию вроде так:

final ScaleAnimation growanim = new ScaleAnimation(1.0f, randscale), 1.0f, 1.0f, Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f); 
     growanim.setDuration(randomDuration); 
     growanim.setRepeatCount(-1); 
     growanim.setRepeatMode(Animation.REVERSE); 
     growanim.setInterpolator(new AccelerateInterpolator()); 
     img.setAnimation(growanim); 
     growanim.start(); 

randomDuration = random.nextInt (2000 - 100 + 1) + 100l); -> случайные времена. randscale = random.nextFloat() * 0.5f) + 0.3f); ---> случайные масштабы.

Благодарим всех вас за помощь.