我想在这里上传代码,但我向你保证,这是一团糟,你不想看到它。我一直试图在某种程度上遵循Facebook 3.6样本并使用他们的API,但它比以前的版本复杂得多。
有人有成就吗?有人能指出我正确的方向吗?
答案 0 :(得分:2)
这里我包含了我在项目中完成的代码。请检查一下。它可能对你有帮助。
Animation animationFadeIn = AnimationUtils.loadAnimation(this, R.anim.fade_in);
Animation animationFadeOut = AnimationUtils.loadAnimation(this, R.anim.fade_out);
handler = new Handle(this);
animator = new Thread() {
public void run() {
try {
handler.sendMessage(handler.obtainMessage(1));
sleep(2000);
handler.sendMessage(handler.obtainMessage(2));
sleep(2000);
handler.sendMessage(handler.obtainMessage(3));
sleep(2000);
handler.sendMessage(handler.obtainMessage(4));
} catch (Exception e) {
e.printStackTrace();
}
}
};
animator.start();
static class Handle extends Handler {
private final WeakReference<SplashActivity> mSplash;
Handle(SplashActivity splash) {
// weakReference is used for avoiding memory leak
mSplash = new WeakReference<SplashActivity>(splash);
}
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
SplashActivity splash = mSplash.get();
if (msg.what == 1 && splash.isRunning == true) {
splash.iv.startAnimation(splash.animationFadeIn);
} else if (msg.what == 2 && splash.isRunning == true) {
} else if (msg.what == 3 && splash.isRunning == true) {
splash.iv.startAnimation(splash.animationFadeOut);
} else if (msg.what == 4 && splash.isRunning == true) {
splash.iv.setImageResource(android.R.color.black);
Intent i = new Intent(splash, MainActivity.class);
splash.overridePendingTransition(0, 0);
splash.startActivity(i);
splash.finish();
}
super.handleMessage(msg);
}
}
答案 1 :(得分:1)
检查此示例:
public class SplashActivity extends Activity {
private long splashDelay = 3000;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
// Remove title bar
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
// Remove notification bar
/*
* this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
* WindowManager.LayoutParams.FLAG_FULLSCREEN);
*/
setContentView(R.layout.activity_splash);
TimerTask task = new TimerTask() {
@Override
public void run() {
finish();
startActivity(new Intent().setClass(SplashActivity.this,
MainActivity.class));
overridePendingTransition(R.anim.fade, R.anim.hold);
}
};
Timer timer = new Timer();
timer.schedule(task, splashDelay);
}
}
答案 2 :(得分:0)
请在此处查看Facebook启动界面:Facebook's splash screen