2016-02-22 3 views
0

Я анимирую Relativelayout в своем приложении, в котором есть прядильщик. Макет анимируется просто отлично, но проблема в том, что я не могу выбрать Spinner после анимации. Я новичок в анимации. Пожалуйста, помогите мне !! Ниже приведен код: MainActivity.java:android spinner nonclickable после анимации

Animation slideup=AnimationUtils.loadAnimation(getApplicationContext(),R.anim.slide_up); 
       relativeLayout1.startAnimation(slideup); 
       slideup.setFillAfter(true); 

slide_up (аним):

<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate 
     android:fromYDelta="0%p" 
     android:toYDelta="-20%p" 
     android:duration="2000"/> 
</set> 

ответ

0

Это потому, что анимация влияет только на рисунок виджета. Тем не менее, реальное местоположение не влияет - оно все еще находится в предыдущем.

Чтобы преодолеть эту проблему, необходимо обновить параметры макета на Spinner вручную путем установки анимации слушателя следующим образом:

Animation.setAnimationListener(new AnimationListener() { 
     public void onAnimationStart(Animation arg0) { 

     } 

     public void onAnimationRepeat(Animation arg0) { 
      //TODO Auto-generated method stub 
     } 

     public void onAnimationEnd(Animation arg0) { 
      android.widget.LinearLayout.LayoutParams params = new LayoutParams(
      android.widget.LinearLayout.LayoutParams.FILL_PARENT, 
      android.widget.LinearLayout.LayoutParams.WRAP_CONTENT); 
      params.topMargin = addLocationButton.getTop()-100; 

      Spinner.setLayoutParams(params); 
     } 
     }); 

для более детальной информации посетите здесь: TranslateAnimated ImageView not clickable after animation [Android]

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