2016-10-27 3 views
0

У меня возникает небольшая путаница в обработке анимаций, когда дело доходит до моего пользовательского представления. Что я имею сейчас класс как это:Анимация в пользовательском представлении - андроид

public class ConcreteView extends RelativeLayout { 
     //blah blah code 
     public ConcreteView(Context context, AttributeSet attrs) { 
      //blah blah code 
     } 
     //blah blah code 
} 

и XML, как это:

<com.package.ConcreteView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="#ffffff" 
    android:id="@+id/suggest" 
    app:headerText="This is a custom view. Animations yet to be implemented" 
    app:headertextColor="#212121" 
    app:footerText="Frostbite engine" 
    app:footertextColor="#424242" 
    app:footertextSize="9" 
    app:headerTextFontSize="13"/> 

Теперь то, что я ищет это способ реализовать все основные анимации (такие как fadeIn, fadeOut, слайд In/Out и т. д.) внутри этого класса (программно), так что мне просто нужно сделать экземпляр ConcreteView и получить доступ к методу setAnimation. Есть идеи?

Спасибо, Шантану

ответ

0

Внутри вашей реализации пользовательского вида, вы всегда можете получить доступ вид и функции просмотра с помощью оператора в this. Используя это, вы должны иметь возможность изменять свойства представления в соответствии с анимацией.

Таким образом, было бы что-то вроде

public class ConcreteView extends RelativeLayout { 
     //blah blah code 
     public ConcreteView(Context context, AttributeSet attrs) { 
      //blah blah code 
     } 
     //blah blah code 

     public void blahAnimationFadeOut(){ 
      this.setAlpha(0.5); // dummy example to access all view functions, assuming you can write your own animations programatically 
     } 
} 
+0

большое спасибо :) – Han

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