編輯: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實現仿通訊錄側邊欄滑動SiderBar效果代碼。分享給大家供大家參考,具體如下: 之前看到某些應用的側邊欄做得不錯,想想自己也弄一個出
Android中的翻轉動畫效果的實現,首先看一下運行效果如上圖所示. Android中並沒有提供直接做3D翻轉的動畫,所以關於3D翻轉的動畫效果需要我們自己實現,
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個