2015-08-04 3 views
1

Вот что в анимации XML:Android TextView исчезают в анимации не работает

android:fromAlpha="0.0" 
android:toAlpha="1.0" 
android:duration="4500" 

и здесь, где я это называю:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 
    setContentView(R.layout.prayerlayout); 

    txt = (TextView) findViewById(R.id.textView2); 
    txt.setText(getString(R.string.eighth)); 

//apply animation 
    fade1 = AnimationUtils.loadAnimation(this, R.anim.fade10); 
    txt.startAnimation(fade1); 
} 

Вопрос заключается в том, что текст не отображается на протяжении анимации, то появляется внезапно. Я не заметил эту проблему в более старых версиях Android. Он работал нормально, но с Lollipop или Jellybeans это не работает. Спасибо за любую помощь.

ответ

1

Оказалось, что мой текст был слишком долго вызывает перепыла в анимации не работать. Вместо этого я применил анимацию на scrollView, и это сделало эффект, который я хотел.

+0

Не могли бы вы дать больше информации о длине текста, из-за чего анимация не сработает? Почему это так? – user1405990

+0

Примерно около 700 слов, превышающих 5000 символов. Я понятия не имею, почему, возможно, вычислительная мощность устройства или программное обеспечение android os не могут обрабатывать большие текстовые анимации. Я не тестировал его на последних выпусках Android, поэтому, возможно, они исправили это. – fullMoon

0

У меня это в XML-формате fadein.

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fillAfter="true"> 
    <alpha 
     android:duration="1000" 
     android:fromAlpha="0.0" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:toAlpha="1.0" /> 
</set> 

И код

public class MainActivity extends Activity { 
    Animation animFadein,animFadeout; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
     setContentView(R.layout.activity_main); 

     animFadein = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fade_in); 
     animFadeout = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.fade_out); 
     Update(); 
    } 

    public void Update(){ 
     TextView lblEstadoPuerta = (TextView) findViewById(R.id.lblEstadoPuerta); 
     ImageButton btnabrirpuerta = (ImageButton) findViewById(R.id.btndoorstate); 

     btnabrirpuerta.startAnimation(animFadeout); 
     btnabrirpuerta.setVisibility(View.GONE); 
     btnabrirpuerta.setImageResource(R.drawable.go_down); 
     btnabrirpuerta.setVisibility(View.VISIBLE); 
     btnabrirpuerta.startAnimation(animFadein); 
    } 
} 

нужно импортировать этот ..

import android.view.animation.Animation; 
import android.view.animation.AnimationUtils; 
+0

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

0

ли вы добавить интерполятор? Вы можете прочитать: http://developer.android.com/intl/es/guide/topics/resources/animation-resource.html

Ваш файл анимации fade10.xml

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
<alpha 
    android:duration="4500" 
    android:fromAlpha="0.0" 
    android:interpolator="@android:anim/accelerate_interpolator" 
    android:toAlpha="1.0" /> 
</set> 

Файл активность

public class FadeActivity extends Activity { 

    private TextView txt; 
    private Animation fade1; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.prayerlayout); 

     txt = (TextView) findViewById(R.id.textView2); 
     txt.setText(getString(R.string.eighth)); 

     //apply animation 
     fade1 = AnimationUtils.loadAnimation(this, R.anim.fade10); 
     txt.startAnimation(fade1); 
    } 
} 
+0

Спасибо, что указали на объект интерполятора, я добавил его и попробовал другие интерполяторы и не имел никакого эффекта. Текст появляется неожиданно без анимации. – fullMoon

Смежные вопросы