如何在AnimatedStateListDrawable中定义(以编程方式)转换

时间:2016-03-10 15:48:58

标签: android statelistdrawable animator

新的drawable选择器AnimatedStateListDrawable允许在选择器从一个状态转到另一个状态时定义动画。
在文档中,到目前为止,在Web中,只有这个新类的XML定义的例子 我的问题是:我想以编程方式创建

    AnimatedStateListDrawable astld= new AnimatedStateListDrawable();
    astld.addState(KEY_STATE_PRESSED, pressedKey);
    astld.addState(StateSet.WILD_CARD, normalKey);
    astld.addTransition(??????????????);

但是我无法在哪里找到或设置过渡所需的州ID( fromId 到Id )。

  

public void addTransition(int fromId ,int toId ,T transition ,boolean reversible
  在API级别21中添加   在关键帧之间添加新的过渡。

     

参数:
   fromId 起始关键帧的唯一标识符
   toId 结束关键帧的唯一标识符
  过渡要用作过渡的动画可绘制,可能不为空   可逆转换是否可以逆转

1 个答案:

答案 0 :(得分:0)

我最终发现有一个新方法addState()具有不同的签名,其中包含ID的参数。

  

public void addState(int [] stateSet,Drawable drawable,int id)
  在API级别21中添加   向关键帧集添加新的drawable。

     

参数
   stateSet 与关键帧关联的资源ID数组
   drawable 在指定状态下显示的drawable,可能不为null    id 关键帧的唯一标识符