将外部参数传递给自定义视图

时间:2017-06-04 19:10:54

标签: android android-animation subclass android-custom-view

我刚开始画画,画布,基本动画,但偶然发现了这个烦人的问题:

我有一个CustomView

public class CustomView extends View{
   //

   //Edited code ****************************
   bool dir;    // true -- right-to-left, false -- left-to-right

   public void setDirection(bool b)
       this.bool = b 

   // ****************************************


   public CustomView(Context context) {
     super(context);
     ...
   }
   public CustomView(Context context, AttributeSet attrs) {
      super(context, attrs)
    ...
   }
   ...

   //stuff for animation
   protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
   ...
  }
  ...

在里面我创造了一个小动画,基本上是从右到左一遍又一遍地飞行

现在,假设我希望在我的布局中有两个这样的视图。但是在第二个问题上,东西应该从左到右

是否有可能以某种方式将此“参数”传递给自定义视图?或者我是否真的必须创建完全相同的类并将加号更改为减号并使其成为新类。这意味着扩展视图创建的动画根本不可调。

如果是后者,那么是否有更好的方法来获得可调动画?

1 个答案:

答案 0 :(得分:1)

  

是否有可能以某种方式传递这个"参数"到自定义视图?

步骤1:在自定义视图中添加字段以保存动画

步骤2:添加一个setter方法来填充字段

步骤3:从某事物(活动,片段等)调用该setter方法,告诉它使用什么动画