Intereting Posts
Как вызвать Activity из пункта меню в Android? Должен ли я беспокоиться о сообщениях консоли консоли DDMS «Не удается привязать к локальному nnnn для отладчика»? Android SDK на 64-битной Linux-машине Android-панель инструментов sherlok не показывает разделитель Отключение кнопки отправки клавиатуры, когда ничего не было введено Примеры кода для программирования Bluetooth на Android Установить видимость индикатора выполнения после завершения загрузки изображения с использованием библиотеки Glide SecurityException: не разрешено запускать службу. Intent act = com.google.android.c2dm.intent.REGISTER Android – динамическое добавление просмотров в представление Как проверить программно, если приложение установлено или нет в Android? Проблема с Android Studio Как осуществлять программный контроль громкости системы Android Поддерживаемые значения @SuppressWarnings в Android Studio Android Animate Rotate Два фрагмента на одной странице viewpager

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);