Bom, estou tentando fazer algo parecido com um GIF para ser exibido no ImageButton quando ele receber um LongClick, vi que a melhor opção seria usar um AnimationDrawable tentei seguir o DOC do android mas não conseguir fazer funcionar, sempre da um erro.
Main
private TextView tela;
private ImageButton btn;
private AnimationDrawable ad;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tela = (TextView)findViewById(R.id.tela);
btn = (ImageButton)findViewById(R.id.scanner);
btn.setOnLongClickListener(scanBtn);
}
View.OnLongClickListener scanBtn = new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
btn.setBackgroundResource(R.drawable.animacao);
ad = (AnimationDrawable) btn.getBackground();
ad.start();
return false;
}
};
animacao.xml
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/analiza1" android:duration="100"></item> <item android:drawable="@drawable/analiza2" android:duration="100"></item> <item android:drawable="@drawable/analiza3" android:duration="100"></item> <item android:drawable="@drawable/analiza4" android:duration="100"></item> <item android:drawable="@drawable/btn_up" android:duration="100"></item> </animation-list>
Layout.xml
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/scanner"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="50dp"
android:layout_marginBottom="50dp"
android:layout_marginLeft="100dp"
android:layout_marginRight="100dp"
android:background="@drawable/btn_up"
android:scaleType="fitXY"
android:adjustViewBounds="true" />
</RelativeLayout>
eu gostaria de saber o que eu estou fazendo de errado?