我想为一些非常小的东西制作动画,只是为了尝试一下......但是:
动画效果完美,没有背景。
当我设置主布局的背景时,动画非常滞后\慢且帧速率非常低。
这是我的代码:
主要 fragment :
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainlayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- android:background="@drawable/backgroundhotpink" -->
<ImageView
android:id="@+id/flickit"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginTop="83dp"
android:src="@drawable/switch_on" />
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp"
android:text="message"
android:textSize="30sp"
android:typeface="sans" />
<TextView
android:id="@+id/score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/message"
android:layout_alignBottom="@+id/message"
android:layout_alignParentLeft="true"
android:layout_marginLeft="44dp"
android:gravity="center"
android:rotation="-45"
android:text="0"
android:textSize="23sp" />
<Button
android:id="@+id/startStopGame"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="15dp"
android:text="Start Game" />
<ImageView
android:id="@+id/socketImageview"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_below="@+id/flickit"
android:layout_centerHorizontal="true"
android:src="@drawable/socket" />
<TextView
android:id="@+id/timer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="Time"
android:layout_margin="5dp"
android:textAppearance="?android:attr/textAppearanceMedium" />
动画:
<?xml version="1.0" encoding="utf-8"?>
<set android:shareInterpolator="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="1.0"
android:toXScale="1.4"
android:fromYScale="1.0"
android:toYScale="0.6"
android:pivotX="50%"
android:pivotY="50%"
android:fillAfter="false"
android:duration="300" />
</set>
动画同步任务:
protected Void doInBackground(View... params) {
final View v = params[0];
myHandler.post(new Runnable() {
public void run() {
v.startAnimation(AnimationUtils.loadAnimation(activity, R.anim.scale_back_fowrad));
}
});
return null;
}
最佳答案
出现此问题的原因是您用作背景的图像的大小和格式。请执行以下操作以避免此问题:
- 保持图片大小小于 500 kb
- 图片使用png格式
关于Android 动画滞后\背景慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20307312/