Android軟件啟動(dòng)動(dòng)畫(huà)及動(dòng)畫(huà)結(jié)束后跳轉(zhuǎn)的實(shí)現(xiàn)方法
本文實(shí)例講述了Android軟件啟動(dòng)動(dòng)畫(huà)及動(dòng)畫(huà)結(jié)束后跳轉(zhuǎn)的實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
自己寫(xiě)了個(gè)小程序,軟件啟動(dòng)時(shí),先顯示幾張圖片,每3秒顯示一張,圖片顯示完跳轉(zhuǎn)到首頁(yè)
1. 圖片輪播使用Gallery,用法很簡(jiǎn)單
GalleryAdapter adapter = new GalleryAdapter(this, mIds); mGallery.setAdapter(adapter);
GalleryAdapter是自定義適配器
public class GalleryAdapter extends BaseAdapter { private Context mContext; private int mImageHeight; private int[] mIds; public GalleryAdapter(Context context, int[] ids) { this.mContext = context; this.mIds = ids; init(); } private void init() { mImageHeight = px2dip(mContext, getScreenHeight(MainActivity.this)); } @Override public int getCount() { return mIds.length; } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { final ImageView imageView = new ImageView(mContext); if (position < mIds.length) { int imageId = mIds[position]; imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);//設(shè)置圖片居中 imageView.setLayoutParams(new Gallery.LayoutParams( Gallery.LayoutParams.FILL_PARENT, mImageHeight)); Bitmap bitmap = readBitMap(mContext, imageId);//用節(jié)省內(nèi)存的方式加載圖片,防止OOM imageView.setImageBitmap(bitmap); overridePendingTransition(R.anim.push_in, R.anim.push_out);//圖片切換動(dòng)畫(huà) } return imageView; } }
2. 設(shè)置圖片切換時(shí)間使用Timer定時(shí)器
Timer timer = new Timer(); timer.schedule(task, 3000, 3000);// 每3秒切換一張圖片 private TimerTask task = new TimerTask() { @Override public void run() { Message message = new Message(); message.what = 0; index = mGallery.getSelectedItemPosition(); handler.sendMessage(message); index++; if (index == mIds.length - 1) { this.cancel(); MainActivity.this.finish(); Intent intent = new Intent(MainActivity.this, Test.class); startActivity(intent); } } }; //不能直接在task中更新UI,所以用handler向主線程發(fā)送消息 private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 0: mGallery.setSelection(index); break; default: break; } } };
3. 讀取本地資源圖片
public static Bitmap readBitMap(Context context, int resId) { BitmapFactory.Options opt = new BitmapFactory.Options(); opt.inPreferredConfig = Bitmap.Config.RGB_565; opt.inPurgeable = true; opt.inInputShareable = true; // 獲取資源圖片 InputStream is = context.getResources().openRawResource(resId); return BitmapFactory.decodeStream(is, null, opt); }
完整實(shí)例代碼代碼點(diǎn)擊此處本站下載。
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android編程之簡(jiǎn)單啟動(dòng)畫(huà)面實(shí)現(xiàn)方法
- Android簡(jiǎn)單實(shí)現(xiàn)啟動(dòng)畫(huà)面的方法
- Android啟動(dòng)畫(huà)面的實(shí)現(xiàn)方法
- Android 避免APP啟動(dòng)閃黑屏的解決辦法(Theme和Style)
- Android優(yōu)化應(yīng)用啟動(dòng)速度
- 詳解Android中App的啟動(dòng)界面Splash的編寫(xiě)方法
- Android app啟動(dòng)時(shí)黑屏或者白屏的原因及解決辦法
- Android使用ViewPager實(shí)現(xiàn)啟動(dòng)引導(dǎo)頁(yè)
- Android仿荷包APP啟動(dòng)動(dòng)畫(huà)
相關(guān)文章
Android根據(jù)電話號(hào)碼獲得聯(lián)系人頭像實(shí)例代碼
這篇文章主要介紹了Android根據(jù)電話號(hào)碼獲得聯(lián)系人頭像實(shí)例代碼,是Android程序開(kāi)發(fā)中非常重要的技巧,需要的朋友可以參考下2014-09-09Android打開(kāi)WebView黑屏閃爍問(wèn)題排查
這篇文章主要介紹了Android打開(kāi)WebView黑屏閃爍問(wèn)題排查,文章通過(guò)詳細(xì)的代碼示例和圖文介紹WebView黑屏閃爍的問(wèn)題,感興趣的小伙伴可以跟著小編一起來(lái)學(xué)習(xí)2023-05-05Android自定義控件之三點(diǎn)循環(huán)縮放效果
這篇文章主要為大家詳細(xì)介紹了Android自定義控件之三點(diǎn)循環(huán)縮放效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10Android Studio去除界面默認(rèn)標(biāo)題欄的方法
這篇文章主要介紹了Android Studio去除界面默認(rèn)標(biāo)題欄的方法,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2007-09-09Android移動(dòng)開(kāi)發(fā)recycleView的頁(yè)面點(diǎn)擊跳轉(zhuǎn)設(shè)計(jì)實(shí)現(xiàn)
這篇文章主要介紹了Android移動(dòng)開(kāi)發(fā)recycleView的頁(yè)面點(diǎn)擊跳轉(zhuǎn)設(shè)計(jì)實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05Android學(xué)習(xí)筆記(二)App工程文件分析
之前寫(xiě)過(guò)一篇關(guān)于安卓環(huán)境配置以及第一個(gè)app的制作過(guò)程,下面我們來(lái)進(jìn)一步,分析下APP工程文件2014-07-07Android LayoutInflater中 Inflate()方法應(yīng)用
本文主要介紹Android 中Inflate 方法的用法, 在開(kāi)發(fā)Android應(yīng)用過(guò)程中,可以在程序中應(yīng)用 Inflate()方法加載新布局,希望能幫助有需要的朋友2016-07-07詳解Flutter WebView與JS互相調(diào)用簡(jiǎn)易指南
這篇文章主要介紹了詳解Flutter WebView與JS互相調(diào)用簡(jiǎn)易指南,分為JS調(diào)用Flutter和Flutter調(diào)用JS,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04