Android: просмотр и просмотр Fade

Мне нужно отобразить кнопку изображения, которая исчезает и исчезает (и в и из и так далее …). Прозрачность может быть установлена ​​с помощью setAlpha, но как я могу затухать и выходить? Я имею в виду, что я не могу сделать это в другом потоке, потому что вам нужно делать такие вещи в потоке пользовательского интерфейса, не так ли?

Я предполагаю, что это можно сделать с анимацией, но я ничего не нашел, потому что у меня нет опыта работы с анимацией и я не знаю, что искать …

На самом деле я действительно хочу, чтобы вытереть одно изображение и другое, но я думаю, что самый простой способ – разместить первую кнопку изображения ниже второй и просто потушить вторую. Или есть более простой способ сделать это?

Solutions Collecting From Web of "Android: просмотр и просмотр Fade"

Вот решение, которое я использую сейчас, которое работает на уровне API ниже 12:

 AlphaAnimation anim = new AlphaAnimation(1.0f, 0.0f); anim.setDuration(1000); anim.setRepeatCount(NUM_REPEATS); anim.setRepeatMode(Animation.REVERSE); button.startAnimation(anim); 

Это анимация, которую мы использовали в нашем проекте. Spinner – это представление, поэтому вы можете изменить его с помощью своего изображения. Так что действительно 2 изображения поверх каждого другого, один видимый невидимый. Так мы это и сделали. Надеюсь, поможет.

  spinner.setVisibility(View.VISIBLE); spinner.setAlpha(0); spinner.animate().setDuration(200).alpha(1).setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { spinner.setVisibility(View.VISIBLE); } }); infoActivityContent.animate().setDuration(200).alpha(0).setListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { infoActivityContent.setVisibility(View.GONE); mainPresenter.logout(); } }); 

Вы должны прочитать Crossfading Two Views от Android developers . В этом руководстве объясняется, как делать то, что вы хотите.

Внедрить класс анимации (вы можете загрузить его через XML или создать его динамически).

Затем вы можете установить его через API setAnimation (анимация анимации).

Вы можете сделать несколько последовательных кадров вашего первого изображения, преобразующегося во второе изображение и обратно, а затем определить их как animation-list анимации и начать анимацию в onCreate

button_frames.xml:

  <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/frame1" android:duration="100" /> <item android:drawable="@drawable/frame2" android:duration="100" /> .... 

расположение:

  <ImageView android:id="@+id/button" android:background="@drawable/button_frames"/> 

OnCreate:

  ImageView button= (ImageView)findViewById(R.id.button); mAnimation = (AnimationDrawable) animationView.getBackground(); button.postDelayed(new Runnable() { public void run() { mAnimation.start(); } }, 100);