Появление изображения не сохраняет окончательную альфу - PullRequest
4 голосов
/ 30 января 2012

У меня есть изображение, которое исчезает после загрузки страницы. Однако конечная альфа изображения, установленная в анимации, не сохраняется. У меня есть следующий (простой) xml для моего изображения:

    <ImageView 
    android:id="@+id/myImage"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:cropToPadding="true"
    android:scaleType="centerCrop"
    android:background="#ffffff" />

Тогда у меня есть файл анимации, который исчезает на изображении:

    <set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <alpha 
    android:fromAlpha="0.0" 
    android:toAlpha="0.6"  
    android:duration="2000"/> 
    </set> 

Затем, наконец, код, который загружает изображение:

    body =(ImageView)findViewById(R.id.myImage);
    body.setBackgroundDrawable(new BitmapDrawable(this.getResources(), background));
    Animation myFadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.fadein_bg);
    body.startAnimation(myFadeInAnimation);

Так, как я могу заставить окончательную альфа изображения остаться после завершения анимации?

Спасибо

Ответы [ 3 ]

4 голосов
/ 30 января 2012

Попробуйте добавить вызов метода .setFillAfter() перед тем, как запустить анимацию, например:

myFadeInAnimation.setFillAfter(true);
body.startAnimation(myFadeInAnimation);
1 голос
/ 30 января 2012

Похоже, я использовал body.setBackgroundDrawable () вместо body.setImageDrawable (). Конечно, мне все еще нужно добавить setAlpha ().

1 голос
/ 30 января 2012

Когда вы устанавливаете фон для рисования, попробуйте установить альфа в ImageView setAlpha(float), который должен сохранить альфа-значение, которое вы в конечном итоге анимируете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...