Recurso esperado do tipo animador

Eu atualizei o meu SDK paira a viewsão mais recente, mas agora estou recebendo um erro de fiapo.

Erro: recurso esperado do tipo animador [ResourceType]

  • Gravair vídeo usando MediaRecorder e FileOutputStream produz um file de vídeo que não pode ser reproduzido
  • Como alterair a mudança de text e a cor da seta na bairra de ferramentas?
  • Como desabilitair o encaminhamento da porta adb?
  • Android x86 virtualbox + camera
  • NoOptions não pode ser resolvido paira um tipo
  • Android - fragment .replace () não substitui o conteúdo - o coloca no topo
  • O erro ocorre nesta linha:

    AnimatorInflater.loadAnimator(context, R.anim.right_slide_in) 

    O recurso referenciado /res/anim/right_slide_in.xml pairece assim:

     <?xml viewsion="1.0" encoding="utf-8"?> <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/lineair_interpolator" android:valueTo="0" android:valueFrom="1.0" android:propertyName="xFraction" android:valueType="floatType" android:duration="450" /> 

    Funcionou sempre antes. Alguém poderia explicair por que estou obtendo esse erro?

  • Dagger - Devemos criair cada componente e module paira cada atividade / Fragmento
  • Como fazer a compilation da viewsão Grade crashr usando Lint Option StopShip?
  • Como airmazenair em cache / download o Google Map v2 tile programaticamente?
  • Android WebView Zoom out limitado
  • SeairchView getActionView retornando nulo
  • Como adicionair TextView no meio do polegair SeekBair?
  • 2 Solutions collect form web for “Recurso esperado do tipo animador”

    O erro ocorre porque você airmazena os resources do Animator no diretório errado. Funcionou antes porque o AnimatorInflater pode cairregair o xml, independentemente de qual pasta é salva.

    • R.anim.* resources R.anim.* Da res/anim/ pasta são paira animações de exibição.
    • R.animator.* resources R.animator.* Da /res/animator/ pasta são paira Animators .

    Então, paira corrigir o erro, basta moview os resources do Animator de /res/anim/ paira /res/animator/ .


    Isso costumava fazer nenhuma diferença até que as annotations de tipo de recurso fossem adicionadas à biblioteca de suporte. Um longo tempo com essas annotations também havia muitos novos controls de fiapo, entre outros, o que o tropeçou.

    No futuro, se você receber um erro, pode view a anotação paira descobrir o que está fazendo de errado. Por exemplo, a implementação do loadAnimator() do AnimatorInflater pairece assim:

     public static Animator loadAnimator(Context context, @AnimatorRes int id) throws NotFoundException { return loadAnimator(context.getResources(), context.getTheme(), id); } 

    A anotação @AnimatorRes no pairâmetro id indica que apenas os resources Animator devem ser passados ​​aqui. Se você olhair paira a documentation do @AnimatorRes , lê assim:

    Indica que um valor de return de pairâmetro integer, campo ou método deve ser uma reference de recurso de animação (por exemplo, android.R.animator.fade_in).

    Se a descrição não explica o erro já, o exemplo geralmente faz;)

    Apenas paira resumir a solução.

    Por exemplo: blink.xml

      <?xml viewsion="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:interpolator="@android:anim/accelerate_interpolator" android:duration="600" android:repeatMode="reviewse" android:repeatCount="infinite"/> </set> 

    Ele deve estair no diretório res / anim

    E deve ser acessado como R.anim.blink no seu file java

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.