我有一个简单的android项目,它是一个空白活动页面,中间有一个按钮。我希望当我点击按钮时它旋转180度(如图像匹配游戏,单击按钮返回和背景显示)。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_main" tools:context=".MainActivity">
<Button
android:layout_width="400px"
android:layout_height="400px"
android:id="@+id/btn_play"
android:layout_marginTop="174dp"
android:background="#001eff"
android:layout_centerHorizontal="true" />
对不起我的英语不好和我的简单问题。
感谢。
答案 0 :(得分:0)
尝试实施旋转动画
在res / anim文件夹中创建rotation.xml:
<rotate xmlns:android="”http://schemas.android.com/apk/res/android”">
android:duration="4000"
android:fromdegrees="0"
android:pivotx="50%"
android:pivoty="50%"
android:todegrees="180"
android:toyscale="0.0"
</rotate>
在按钮上的活动中点击:
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
final Animation animation= AnimationUtils.loadAnimation(getApplicationContext(), R.anim.rotator);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
btn.startAnimation(animation);
}
@Override
public void onAnimationEnd(Animation animation) {
btn.setBackgroundResource(R.drawable.anotherImage);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
}
}
});
答案 1 :(得分:0)
您可以使用ObjectAnimator
。
btn_play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view)
{
ObjectAnimator.ofFloat(view, "rotation", 0, 180).start();
btn_play.setBackgroundColor(Color.RED)
}
});