Android軟件啟動動畫及動畫結(jié)束后跳轉(zhuǎn)的實現(xiàn)方法
本文實例講述了Android軟件啟動動畫及動畫結(jié)束后跳轉(zhuǎn)的實現(xiàn)方法。分享給大家供大家參考,具體如下:
自己寫了個小程序,軟件啟動時,先顯示幾張圖片,每3秒顯示一張,圖片顯示完跳轉(zhuǎn)到首頁
1. 圖片輪播使用Gallery,用法很簡單
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);//圖片切換動畫
}
return imageView;
}
}
2. 設(shè)置圖片切換時間使用Timer定時器
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);
}
完整實例代碼代碼點擊此處本站下載。
希望本文所述對大家Android程序設(shè)計有所幫助。
相關(guān)文章
Android根據(jù)電話號碼獲得聯(lián)系人頭像實例代碼
這篇文章主要介紹了Android根據(jù)電話號碼獲得聯(lián)系人頭像實例代碼,是Android程序開發(fā)中非常重要的技巧,需要的朋友可以參考下2014-09-09
Android移動開發(fā)recycleView的頁面點擊跳轉(zhuǎn)設(shè)計實現(xiàn)
這篇文章主要介紹了Android移動開發(fā)recycleView的頁面點擊跳轉(zhuǎn)設(shè)計實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
Android LayoutInflater中 Inflate()方法應(yīng)用
本文主要介紹Android 中Inflate 方法的用法, 在開發(fā)Android應(yīng)用過程中,可以在程序中應(yīng)用 Inflate()方法加載新布局,希望能幫助有需要的朋友2016-07-07
詳解Flutter WebView與JS互相調(diào)用簡易指南
這篇文章主要介紹了詳解Flutter WebView與JS互相調(diào)用簡易指南,分為JS調(diào)用Flutter和Flutter調(diào)用JS,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04

