2013-11-07 2 views
1

Как я могу объединить XML-анимацию, чтобы сделать следующий эффект:слайдов в то время исчезают в TextView

enter image description here

1 -> 2 (слайд в то время как замирание в TextView)

Мой частичный код XML является:

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:orientation="horizontal" 
    android:layout_weight="1" > 

    <TextView 
     android:id="@+id/tvData" 
     android:layout_width="0dp" 
     android:layout_height="fill_parent" 
     android:layout_weight="1" 
     android:text="TYPE:" 
     android:gravity="center" 
     android:textStyle="bold" 
     android:textSize="@dimen/info_height" 
     android:shadowDx="4" 
     android:shadowDy="4" 
     android:shadowColor="#A7A7A7" 
     android:shadowRadius="15" /> 
    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="fill_parent" 
     android:orientation="horizontal" 
     android:layout_weight="1" 
     android:padding="@dimen/about_divider_height" > 
     <TextView 
      android:id="@+id/tvBloodDetail" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:background="@drawable/roundtv" 
      android:text="" 
      android:gravity="center" 
      android:textSize="@dimen/btn_text" 
      android:textStyle="bold" 
      android:shadowDx="8" 
      android:shadowDy="8" 
      android:shadowColor="#CC900205" 
      android:shadowRadius="25" 
      android:textColor="#FFFFFF" 
      android:visibility="invisible" /> 
    </LinearLayout> 
</LinearLayout> 

Часть Java:

private Runnable task = new Runnable() { 
     public void run() { 
      //run the animated task 
      tvB.setAnimation(animationTranslateIn); 
     } 
    }; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.bloodtype); 

      tvB = (TextView) findViewById(R.id.tvBloodDetail); 

       animationTranslateIn = AnimationUtils.loadAnimation(BloodType.this, R.anim.slideanim); 
     } 

У меня есть slideanim XML:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/linear_interpolator" 
    android:shareInterpolator="true"> 
    <alpha 
     android:fromAlpha="1.0" 
     android:toAlpha="0.1" 
     android:duration="200" 
     android:repeatCount="1" 
     android:repeatMode="reverse" 
     android:startOffset="0" /> 
    <translate android:duration="2000" 
     android:fromXDelta="0" 
     android:toXDelta="100%p" 
     android:startOffset="0" /> 
</set> 

Как я могу объединить два выше или даже иначе, чтобы следовать той же процедуре, как 1 & 2?

ответ

5

Поместите их обоих в одном наборе и установить их начальные смещения и то же значение:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/linear_interpolator" 
    android:shareInterpolator="true"> 
    <alpha 
     android:fromAlpha="1.0" 
     android:toAlpha="0.1" 
     android:duration="200" 
     android:repeatCount="1" 
     android:repeatMode="reverse" 
     android:startOffset="0" /> 
    <translate android:duration="2000" 
     android:fromXDelta="0" 
     android:toXDelta="100%p" 
     android:startOffset="0" /> 
</set> 

По умолчанию startOffset на 0, чтобы вы могли оставить это. Вы также не можете делиться интерполятором, если вы этого не хотите.

См. http://developer.android.com/guide/topics/resources/animation-resource.html.

+0

Не работает по какой-то причине ... – Si8

+0

Можете ли вы уточнить? Если у вас есть два перевода (для ваших двух движений), вам нужно будет выбрать соответствующие значения «startOffset» и «duration». –

+0

Я обновляю свой вопрос кодом, который у меня есть, но он ничего не делает в моей деятельности. :/ – Si8

1

Вам необходимо создать новый анимационный XML с «набором анимации», а затем применить его как обычно.

Вы можете установить временные смещения на каждой части.

Хорошо объяснено на веб-сайте разработчика.

+0

спасибо. Я попробовал метод, но он не работает:/ – Si8

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