【发布时间】:2014-06-25 10:17:08
【问题描述】:
我做了一个fade 动画,在初始屏幕中显示three images。我成功地得到了一个输出。
但我有一个two issue:
-
加载时间:
- 加载启动画面需要更多时间。它需要进入 尽快申请。
-
应用无法关闭:
进入应用程序后。我正在尝试借助模拟器中的后退按钮关闭这些应用程序。但它永远不会关闭
申请。它停留在应用程序本身中。在日志猫中,我看到循环 1,2 和 3 一次又一次地继续。我无法关闭我的应用程序。
如果我按下主页按钮,它会显示一个主页屏幕,但再次自动进入应用程序。
LogCat:
我没有收到任何 logcat 错误。但是您可以看到 logcat 读数始终在运行。它永远不会停止。循环 1,2 和 3 在 logcat 中连续读取。对于这些它永远不会关闭应用程序。然后如果我按home键,会显示主屏幕。但有时会自动进入这些应用程序。
06-25 05:46:27.654: V/test(1842): 1
06-25 05:46:27.684: V/test(1842): 2
06-25 05:46:31.764: V/test(1842): 1
06-25 05:46:35.654: V/test(1842): 2
06-25 05:46:35.684: V/test(1842): 3
06-25 05:46:39.764: V/test(1842): 2
06-25 05:46:43.654: V/test(1842): 3
06-25 05:46:43.684: V/test(1842): 1
06-25 05:46:44.914: I/Choreographer(1842): Skipped 36 frames! The application may be doing too much work on its main thread.
06-25 05:46:46.524: I/ImageCache(1842): Memory cache created (size = 12288)
06-25 05:46:46.534: V/test1(1842): testhere
06-25 05:46:46.534: V/3333333(1842): 3333333
06-25 05:46:47.334: V/####(1842): TFH BANNER1
06-25 05:46:47.434: V/test2(1842): testhere
06-25 05:46:47.434: V/test3(1842): testhere
06-25 05:46:47.434: V/####(1842): TFH BANNER2
06-25 05:46:47.444: V/####(1842): TFH BANNER3
06-25 05:46:47.494: V/####(1842): TFH BANNER4
06-25 05:46:47.674: V/####(1842): TFH BANNER1
06-25 05:46:47.674: V/test2(1842): testhere
06-25 05:46:47.684: V/test3(1842): testhere
06-25 05:46:47.684: I/ImageWorker(1842): cancelPotentialWork - cancelled work for http://tfhapp.fathershouse.in/banner-gallery/tfh-banner1-large-1.jpg
06-25 05:46:47.684: V/####(1842): TFH BANNER2
06-25 05:46:47.684: V/####(1842): TFH BANNER3
06-25 05:46:47.684: V/####(1842): TFH BANNER4
06-25 05:46:47.764: V/test(1842): 3
06-25 05:46:47.864: V/APIServiceHandler(1842): API CALLhttp://tfhapp.fathershouse.in/api/video.php
06-25 05:46:47.864: I/ImageWorker(1842): doInBackground - starting work
06-25 05:46:48.004: V/####(1842): TFH BANNER1
06-25 05:46:48.004: V/test2(1842): testhere
06-25 05:46:48.014: V/test3(1842): testhere
06-25 05:46:48.014: V/####(1842): TFH BANNER2
06-25 05:46:48.024: V/####(1842): TFH BANNER3
06-25 05:46:48.024: V/####(1842): TFH BANNER4
06-25 05:46:48.034: V/####(1842): TFH BANNER1
06-25 05:46:48.044: V/test2(1842): testhere
06-25 05:46:48.044: V/test3(1842): testhere
06-25 05:46:48.064: V/####(1842): TFH BANNER2
06-25 05:46:48.144: V/####(1842): TFH BANNER3
06-25 05:46:48.274: I/Choreographer(1842): Skipped 1086 frames! The application may be doing too much work on its main thread.
06-25 05:46:48.674: I/ImageCache(1842): Disk cache initialized
06-25 05:46:48.854: I/Choreographer(1842): Skipped 205 frames! The application may be doing too much work on its main thread.
06-25 05:46:49.164: V/####(1842): TFH BANNER1
06-25 05:46:49.254: V/test2(1842): testhere
06-25 05:46:49.254: V/test3(1842): testhere
06-25 05:46:49.264: V/####(1842): TFH BANNER2
06-25 05:46:49.324: V/####(1842): TFH BANNER3
06-25 05:46:49.324: V/####(1842): TFH BANNER4
06-25 05:46:49.374: V/####(1842): TFH BANNER1
06-25 05:46:49.434: V/test2(1842): testhere
06-25 05:46:49.434: V/test3(1842): testhere
06-25 05:46:49.434: I/ImageWorker(1842): cancelPotentialWork - cancelled work for http://tfhapp.fathershouse.in/banner-gallery/tfh-banner1-large-1.jpg
下面我发布了我与 SplashActivity 相关的整个核心。
SplashActivity.java:
public class SplashActivity extends Activity {
public int currentimageindex = 0;
Timer timer;
TimerTask task;
ImageView slidingimage;
int count = 0;
private int[] IMAGE_IDS = { R.drawable.spl1, R.drawable.spl2,
R.drawable.spl3 };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_splash);
final Handler mHandler = new Handler();
// Create runnable for posting
final Runnable mUpdateResults = new Runnable() {
public void run() {
AnimateandSlideShow();
}
};
int delay = 1000; // delay for 1 sec.
int period = 8000; // repeat every 4 sec.
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
mHandler.post(mUpdateResults);
count = count + 1;
Log.v("test", count + "");
if (count >3) {
Intent i=new Intent(SplashActivity.this,HomeActivity.class);
startActivity(i);
count=0;
}
}
}, delay, period);
}
//
// public void onClick(View v) {
//
// finish();
// android.os.Process.killProcess(android.os.Process.myPid());
// }
/**
* Helper method to start the animation on the splash screen
*/
private void AnimateandSlideShow() {
slidingimage = (ImageView) findViewById(R.id.ImageView3_Left);
slidingimage.setImageResource(IMAGE_IDS[currentimageindex
% IMAGE_IDS.length]);
currentimageindex++;
Animation rotateimage = AnimationUtils.loadAnimation(this,
R.anim.custom_anim);
slidingimage.startAnimation(rotateimage);
// Log.v("test","animation slide");
}
}
layout_splash.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/ImageView3_Left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal" />
</LinearLayout>
custom_anim.xml:
<?xml version="1.0" encoding="utf-8" ?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<rotate
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:duration="2000" />
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="2000">
</alpha>
<scale
android:pivotX="50%"
android:pivotY="50%"
android:fromXScale=".1"
android:fromYScale=".1"
android:toXScale="1.0"
android:toYScale="1.0"
android:duration="2000" />
</set>
fade_in.xml:
<?xml version="1.0" encoding="utf-8" ?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="2500">
</alpha>
</set>
fade_in2.xml:
<?xml version="1.0" encoding="utf-8" ?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="2500"
android:startOffset="2500">
</alpha>
</set>
我不知道如何解决这些问题。如果您知道如何解决这些问题,任何人都可以帮助我。谢谢。
【问题讨论】:
-
您能解释一下您的要求吗?
-
@blackbelt 1.在启动画面中花费更多时间。启动画面时间必须最小化。 2.按下后退按钮时应用程序不关闭。始终 logcat 读取运行循环 1,2 和 3。
-
这些不是你的要求。这些是你的问题
-
@blackbelt 是的,我需要解决这个问题。就是这样。
标签: android android-animation fade splash-screen