自定义视图中的动画 - android

时间:2016-10-27 17:02:07

标签: android android-animation android-relativelayout

在我的自定义视图中处理动画时我有点困惑。 我现在拥有的是这样一个类:

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,slide In / Out等)的方法,以便我只需要创建 ConcreteView 的实例并访问setAnimation方法。任何想法?

谢谢, 山塔努

1 个答案:

答案 0 :(得分: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
      }
}