編輯:關於Android編程
從我所做的項目來看,幾乎都少不了開始頁面,啟動頁面的作用能夠打廣告、發公告、做緩存處理、更新數據等等!Android實現開始頁面的跳轉,就是打開一個Android手機APP的歡迎界面後跳轉到指定界面,下面就讓我簡單介紹下比較常用的開始頁面的跳轉方法吧。
一、在onCreate裡設置個Timer,然後建立Intent指向你要調用的Activity。設置Timer 任意秒後執行startActivity即可!(Timer是一種定時器工具,用來在一個後台線程計劃執行指定任務,它可以計劃執行一個任務一次或反復多次)
final Intent it = new Intent(this, Activity1.class); //你要轉向的Activity Timer timer = new Timer(); TimerTask task = new TimerTask() { @Override public void run() { startActivity(it); //執行 } }; timer.schedule(task, 1000 * 10); //10秒後
二、利用子線程在run方法中設置跳轉,用Handler來執行。
public class WelcomeActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { <span > </span>// TODO Auto-generated method stub <span > </span>super.onCreate(savedInstanceState); <span > </span>setContentView(R.layout.welcome); <span > </span>new Handler().postDelayed(r, 1000);// 1秒後關閉,並跳轉到主頁面 } Runnable r = new Runnable() { @Override public void run() { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setClass(WelcomeActivity.this, MainActivity.class); startActivity(intent); finish(); } }; }
三、以動畫形式(旋轉、縮放等)作為開始頁面,這種方法在項目中也是比較常用的,比第一種方法多了動畫集,具體看代碼注釋!
開始動畫頁面布局splashMain.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <ImageView android:id="@+id/iv_splash_mainview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/splash_bg" android:src="@drawable/splash_sheep_n" /> </LinearLayout>
開始動畫頁面splashActivity.java
public class <span >splash</span><span >Activity extends Activity {</span> private ImageView iv_mainview; private AnimationSet as; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); //去掉標題 //requestWindowFeature(Window.FEATURE_NO_TITLE); initView();// 初始化界面 startAnimation();//開始播放動畫 initEvent();//初始化事件 } private void initEvent() { //1、監聽動畫播放完的事件,只是一處用到事件就用匿名類對象,多處聲明成員變量用 as.setAnimationListener(new AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } //監聽動畫播放完 @Override public void onAnimationEnd(Animation animation) { // Intent main = new Intent(<span >splash</span><span >Activity </span><span >.this,MainActivity.class);</span> startActivity(main);//主界面 //關閉自己 finish(); } }); } /** * 開始播放動畫:旋轉,縮放,漸變 */ private void startAnimation() { // false 代表動畫集中每種動畫都采用各自的動畫插入器(數字函數) as = new AnimationSet(false); //旋轉動畫,錨點 RotateAnimation ra = new RotateAnimation( 0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF,0.5f);//設置錨點為圖片的中心點 // 設置動畫播放時間 ra.setDuration(2000); ra.setFillAfter(true);//動畫播放完之後,停留在當前狀態 // 添加到動畫集 as.addAnimation(ra); // 漸變動畫 AlphaAnimation aa = new AlphaAnimation(0, 1);//由完全透明到不透明 // aa.setDuration(2000); aa.setFillAfter(true);// // as.addAnimation(aa); // 縮放動畫 ScaleAnimation sa = new ScaleAnimation( 0, 1, 0, 1, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); // sa.setDuration(2000); sa.setFillAfter(true);// // as.addAnimation(sa); // 播放動畫 iv_mainview.startAnimation(as); // 動畫播完進入下一個界面 :向導界面或者主界面 //1、監聽動畫播放完的事件 } private void initView() { // 設置主界面 setContentView(R.layout.onemain); // 獲取背景圖片 iv_mainview = (ImageView) findViewById(R.id.iv_splash_mainview); } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。
DrawerLayout組件同樣是V4包中的組件,也是直接繼承於ViewGroup類,所以這個類也是一個容器類。抽屜菜單的擺放和布局通過android:layout_gr
本文在上一篇初步介紹TableLayout常用屬性的基礎上,將進一步介紹如何UI設計器設計TableLayout + TableRow。由於實際應用中,經常需要在代碼裡往
相關閱讀:Android開發框架之自定義ZXing二維碼掃描界面並解決取景框拉伸問題此項目源碼地址:請點擊這裡看一下zxing的項目結構,我這裡直接拿過來用的
URL對象中前而幾個方法都非常容易理解,而該對象提供的openStream()可以讀取該 URL資源的InputStream,通過該方法可以非