編輯:Android開發實例
本文實例講述了Android軟件啟動動畫及動畫結束後跳轉的實現方法。分享給大家供大家參考,具體如下:
自己寫了個小程序,軟件啟動時,先顯示幾張圖片,每3秒顯示一張,圖片顯示完跳轉到首頁
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);//設置圖片居中
imageView.setLayoutParams(new Gallery.LayoutParams(
Gallery.LayoutParams.FILL_PARENT, mImageHeight));
Bitmap bitmap = readBitMap(mContext, imageId);//用節省內存的方式加載圖片,防止OOM
imageView.setImageBitmap(bitmap);
overridePendingTransition(R.anim.push_in, R.anim.push_out);//圖片切換動畫
}
return imageView;
}
}
2. 設置圖片切換時間使用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向主線程發送消息
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程序設計有所幫助。
Android本地化
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
Android實現仿通訊錄側邊欄滑動SiderBar效果代碼
本文實例講述了Android實現仿通訊錄側邊欄滑動SiderBar效果代碼。分享給大家供大家參考,具體如下: 之前看到某些應用的側邊欄做得不錯,想想自己也弄一個出
Android動畫之3D翻轉效果實現函數分析
Android中的翻轉動畫效果的實現,首先看一下運行效果如上圖所示. Android中並沒有提供直接做3D翻轉的動畫,所以關於3D翻轉的動畫效果需要我們自己實現,
Android JSON解析器
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個