Java Android按钮图像抖动动画
我是android新手,我正在寻找一种方法,在点击时摇动我的按钮。到目前为止我都知道了,但它总是崩溃。或者,如果你点击它,什么都不起作用。 我希望你们能帮助我。如果我忘了什么,就说出来。代码可能很混乱 我有一个动画文件夹。使用shakeanim.xmlJava Android按钮图像抖动动画,java,android,xml,imagebutton,shake,Java,Android,Xml,Imagebutton,Shake,我是android新手,我正在寻找一种方法,在点击时摇动我的按钮。到目前为止我都知道了,但它总是崩溃。或者,如果你点击它,什么都不起作用。 我希望你们能帮助我。如果我忘了什么,就说出来。代码可能很混乱 我有一个动画文件夹。使用shakeanim.xml <?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" a
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromXDelta="0"
android:interpolator="@android:anim/cycle_interpolator"
android:toXDelta="10" />
代码:
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<ImageButton
android:id="@+id/imageButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/chest"
android:background="@null"/>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/imageButton1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="51dp"
android:text="100 Clicks" />
</RelativeLayout>
shakeanim.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromXDelta="0"
android:interpolator="@android:anim/cycle_interpolator"
android:toXDelta="10" />
用此文件替换shakeanim.xml文件
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:duration="150"
android:fromXDelta="-10%"
android:repeatCount="5"
android:repeatMode="reverse"
android:toXDelta="10%"/>
</set>
如果这有帮助,请将其标记为正确答案。谢谢你如果你真的想让它震动,你应该使用自定义的插值器,它可以追溯到以前,幸运的是你不能在动画的XML资源中使用插值器,它只能以编程的方式使用。检查这个:动画跳跃!这张表格是怎么回事
imageButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
clicks--;
clicksToGo.setText("You need to click " + clicks + " more times to open it");
imageButton.startAnimation(shake);
}
});