編輯:關於Android編程
BitmapFactory.decodeStreeam()
方法,該方法會調用native層代碼來創建bitmap(兩個重載都會調用) 使用帶BitmapFactory.Options
參數的方法,改參數可指定生成bitmap的大小
BitmapFactory.Options
調用BitmapFactory.decodeStreeam()
生成bitmap
根據圖片路徑或URI打開輸入流
InputStream is = getContentResolver().openInputStream(imageUri);
獲取屏幕或View尺寸
如果能確定View尺寸則使用View尺寸,如果不能(比如動態調整的View、自適應的View等)則獲取最接近該View的尺寸,實在不行就獲取當前Activity的Window尺寸(比屏幕尺寸小)
WindowManager windowManager = getWindowManager();
Display defaultDisplay = windowManager.getDefaultDisplay();
defaultDisplay.getHeight();
defaultDisplay.getWidth();
view.getMeasuredWidth();
view.getMeasuredHeight();
根據目標尺寸生成BitmapFactory.Options
BitmapFactory.Options option = new BitmapFactory.Options();
option.inSampleSize = dstSize;
使用options調用BitmapFactory.decodeStream()生成bitmap
Bitmap bitmap = BitmapFactory.decodeStream(is, null, option);
InputStream is = null;
try {
int screenWidth=getWindowManager().getDefaultDisplay().getWidth();
int screenHeight=getWindowManager().getDefaultDisplay().getHeight();
int maxSize=Math.max(screenWidth,screenHeight);//以長邊為准
is = getContentResolver().openInputStream(imageUri);
BitmapFactory.Options option = new BitmapFactory.Options();
option.inSampleSize = maxSize;
Bitmap bitmap = BitmapFactory.decodeStream(is, null, option);
imageView.setImageBitmap(bitmap);
} catch (Exception e) {
e.printStackTrace();
}
try{
if(is!=null)is.close();
}
深入理解Android之AOP 一、閒談AOP大家都知道OOP,即ObjectOriented Programming,面向對象編程。而本文要介紹的是AOP。A
今天還是給大家帶來自定義控件的編寫,自定義一個ListView的左右滑動刪除Item的效果,這個效果之前已經實現過了,有興趣的可以看下Android 使用S
本文實例為大家分享了android讀取assets中Excel的具體代碼,供大家參考,具體內容如下1.在assets下放的excel表格,命名為excel.xls 2.添
概論NDK全稱是Native Development Kit,NDK提供了一系列的工具,幫助開發者快速開發C(或C++)的動態庫,並能自動將so和java應用一起打包成a