android程序启动画面Splash(方法二)
上一篇文章说了第一种方法。1、使用两个Activity,程序启动时候load第一张Activity,然后由tick触发N秒钟后startActivity另外一张Activity。
2、使用一个Activity,可以用到View.gone() 这个方法。把Acitivity的某些元素移除。代码如下:
androidmanifest.xml就不多说了。先看布局代码:
<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”>
<LinearLayout android:id=”@+id/splashscreen” android:orientation=”vertical”
android:layout_width=”fill_parent” android:layout_height=”fill_parent”>
<ImageView android:layout_width=”wrap_content”
android:layout_height=”wrap_content” android:src=”@drawable/splash”
android:layout_gravity=”center”
android:layout_marginTop=”130px”/>
<TextView
android:id=”@+id/info”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:gravity=”center”
android:paddingTop=”10px”
android:text=”This is a splash!!”/>
</LinearLayout>
<WebView android:id=”@+id/browser”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent” android:layout_weight=”1″/>
</LinearLayout>
有一个id为splashscreen 的linearlayout,是程序启动时显现的部分。id为browser是程序的主界面显示部分。
- package net.hlovey.s;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Message;
- import android.util.Log;
- import android.view.LayoutInflater;
- import android.view.animation.Animation;
- import android.view.animation.AnimationUtils;
- import android.widget.LinearLayout;
- import android.widget.TextView;
- import android.widget.Toast;
- public class WebGameActivity extends Activity {
- private WebView webView;
- private Handler mHandler = new Handler();
- private static final String TAG = "WebGameActivity";
- //菜单
- private static final int MENU_RELOAD = Menu.FIRST;
- private static final int MENU_HELP = Menu.FIRST + 1;
- private static final int MENU_ABOUT = Menu.FIRST + 2;
- private static final int MENU_CLOSE = Menu.FIRST + 3;
- private int staus = 0;
- private static final int STOPSPLASH = 0;
- //time in milliseconds
- private static final long SPLASHTIME = 1000;
- private LinearLayout splash;
- private TextView tv;
- private Animation myAnimation_Alpha;
- private Animation animatinoGone ;
- private Handler splashHandler = new Handler() {
- public void handleMessage(Message msg) {
- switch (msg.what) {
- case STOPSPLASH:
- if( staus == 1 ){
- splash.startAnimation(animatinoGone);
- splash.setVisibility(View.GONE);
- break;
- }
- sendEmptyMessageDelayed(STOPSPLASH, SPLASHTIME);
- }
- super.handleMessage(msg);
- }
- };
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- getWindow().requestFeature(Window.FEATURE_PROGRESS); //去标题栏
- setContentView(R.layout.main);
- animatinoGone = AnimationUtils.loadAnimation(this,R.anim.alpha_gone); //动画效果
- myAnimation_Alpha = AnimationUtils.loadAnimation(this,R.anim.alpha_action); //动画效果
- splash = (LinearLayout) findViewById(R.id.splashscreen);
- tv = (TextView) findViewById(R.id.info);
- tv.setText("正在建立数据连接");
- splash.startAnimation(myAnimation_Alpha);
- Message msg = new Message();
- msg.what = STOPSPLASH;
- splashHandler.sendMessageDelayed(msg, SPLASHTIME);
- }
代码只贴这么多了,可以多多的深挖。可以自己加上很多效果·········
转载请注明: 本文载自:【猴婆博客】 http://www.hlovey.cn/2009/09/17/android-splash-2.html
========================================================


















[...] 网站地图 上一篇:android下载web数据的方法 下一篇:android程序启动画面Splash(方法二) [...]