gpt4 book ai didi

java - 动画不适用于所有设备

转载 作者:行者123 更新时间:2023-11-30 04:04:46 25 4
gpt4 key购买 nike


例如,我的动画可以在 SGS2 上运行,但不能在 SGS 1 或模拟器上运行(出于某种原因,我构建的其他动画在所有设备上都运行良好)

此外,即使在运行动画的设备上,当调用 OnPostExcute 时动画停止,而在其他同样嵌套在 ASyncTask 中的类似动画中,动画直到调用 stop() 时才会停止

每帧的尺寸是512x512

这是动画列表文件:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">

<item android:drawable="@drawable/logo0" android:duration="35" />
<item android:drawable="@drawable/logo1" android:duration="35" />
<item android:drawable="@drawable/logo2" android:duration="35" />
<item android:drawable="@drawable/logo3" android:duration="35" />
<item android:drawable="@drawable/logo4" android:duration="35" />
<item android:drawable="@drawable/logo5" android:duration="35" />
<item android:drawable="@drawable/logo6" android:duration="35" />
<item android:drawable="@drawable/logo7" android:duration="35" />
<item android:drawable="@drawable/logo8" android:duration="35" />
<item android:drawable="@drawable/logo9" android:duration="35" />
<item android:drawable="@drawable/logo10" android:duration="35" />
<item android:drawable="@drawable/logo11" android:duration="35" />
<item android:drawable="@drawable/logo12" android:duration="35" />
<item android:drawable="@drawable/logo13" android:duration="35" />
<item android:drawable="@drawable/logo14" android:duration="35" />
<item android:drawable="@drawable/logo15" android:duration="35" />
<item android:drawable="@drawable/logo16" android:duration="35" />
<item android:drawable="@drawable/logo17" android:duration="35" />
<item android:drawable="@drawable/logo18" android:duration="35" />
<item android:drawable="@drawable/logo19" android:duration="35" />
<item android:drawable="@drawable/logo20" android:duration="35" />
<item android:drawable="@drawable/logo21" android:duration="35" />
<item android:drawable="@drawable/logo22" android:duration="35" />
<item android:drawable="@drawable/logo23" android:duration="35" />
<item android:drawable="@drawable/logo24" android:duration="35" />
<item android:drawable="@drawable/logo25" android:duration="35" />
<item android:drawable="@drawable/logo26" android:duration="35" />
<item android:drawable="@drawable/logo27" android:duration="35" />
<item android:drawable="@drawable/logo28" android:duration="35" />
<item android:drawable="@drawable/logo29" android:duration="35" />
<item android:drawable="@drawable/logo30" android:duration="35" />
<item android:drawable="@drawable/logo31" android:duration="35" />
<item android:drawable="@drawable/logo32" android:duration="35" />
<item android:drawable="@drawable/logo33" android:duration="35" />
<item android:drawable="@drawable/logo34" android:duration="35" />
<item android:drawable="@drawable/logo35" android:duration="35" />
<item android:drawable="@drawable/logo36" android:duration="35" />
<item android:drawable="@drawable/logo37" android:duration="35" />
<item android:drawable="@drawable/logo38" android:duration="35" />
<item android:drawable="@drawable/logo39" android:duration="35" />
<item android:drawable="@drawable/logo40" android:duration="35" />
<item android:drawable="@drawable/logo41" android:duration="35" />
<item android:drawable="@drawable/logo42" android:duration="35" />
<item android:drawable="@drawable/logo43" android:duration="35" />
<item android:drawable="@drawable/logo44" android:duration="35" />
<item android:drawable="@drawable/logo45" android:duration="35" />
<item android:drawable="@drawable/logo46" android:duration="35" />
<item android:drawable="@drawable/logo47" android:duration="35" />
<item android:drawable="@drawable/logo48" android:duration="35" />
<item android:drawable="@drawable/logo49" android:duration="35" />
<item android:drawable="@drawable/logo50" android:duration="35" />
<item android:drawable="@drawable/logo51" android:duration="35" />
<item android:drawable="@drawable/logo52" android:duration="35" />
<item android:drawable="@drawable/logo53" android:duration="35" />
<item android:drawable="@drawable/logo54" android:duration="35" />
<item android:drawable="@drawable/logo55" android:duration="35" />
<item android:drawable="@drawable/logo56" android:duration="35" />
<item android:drawable="@drawable/logo57" android:duration="35" />
<item android:drawable="@drawable/logo58" android:duration="35" />
<item android:drawable="@drawable/logo59" android:duration="35" />

</animation-list>

这是应该启动动画的代码:

    final ImageView logoAnimation = (ImageView) findViewById(R.id.logoAnimation);
logoAnimation.setImageResource(R.drawable.none);
logoAnimation.setBackgroundResource(R.drawable.logo_animation);
final AnimationDrawable frameAnimation = (AnimationDrawable) logoAnimation
.getBackground();

class Init extends AsyncTask<Void, Boolean, Boolean> {
@Override
protected void onPreExecute() {
super.onPreExecute();
frameAnimation.start();
}

@Override
protected Boolean doInBackground(Void... params) {
if (!isNetworkAvailable()) {
return false;
} else {
try {
CheckAll();
} catch (IOException e) {
}
}
return true;
}

@Override
protected void onPostExecute(Boolean result) {
super.onPostExecute(result);
frameAnimation.stop();
if (result) {
Intent openMain = new Intent(c, Main.class);
startActivity(openMain);
Splash.this.finish();
} else {

Builder alertDialog = new AlertDialog.Builder(Splash.this);
alertDialog
.setMessage(getString(R.string.noInternetConnection));
alertDialog.setNegativeButton(getString(R.string.close),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
Splash.this.finish();
}
});
alertDialog.show();
}
}

}
new Init().execute();

我不知道是否需要,但这是布局 xml 文件:

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/splash"
android:orientation="vertical" >

<ImageView
android:id="@+id/logoAnimation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/logo0"
android:contentDescription="@null" />

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/logoAnimation"
android:layout_centerHorizontal="true"
android:text="@string/loading"
android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>

最佳答案

也许您可以使用内置的 ProgressBar 并将其更改为您想要的任何内容。

关于java - 动画不适用于所有设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11904656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com