Android中實現(xiàn)布局背景模糊化處理的方法
更新時間:2015年04月24日 10:06:53 投稿:junjie
這篇文章主要介紹了Android中實現(xiàn)布局背景模糊化處理的方法,需要的朋友可以參考下
在模仿 IOS 密碼輸入頁面的時候發(fā)現(xiàn)其背景有模糊處理,于是了解了一下并記錄下來,以便使用.在Android 中具體實現(xiàn)方法如下
查考 http://www.dbjr.com.cn/article/64781.htm
private void applyBlur() { // 獲取壁紙管理器 WallpaperManager wallpaperManager = WallpaperManager.getInstance(this.getContext()); // 獲取當前壁紙 Drawable wallpaperDrawable = wallpaperManager.getDrawable(); // 將Drawable,轉成Bitmap Bitmap bmp = ((BitmapDrawable) wallpaperDrawable).getBitmap(); blur(bmp); }
下面之所以要進行small 和big的處理,是因為僅僅靠ScriptIntrinsicBlur 來處理模式,不能到達更模式的效果,如果需要加深模式效果就需要先把背景圖片縮小,在處理完之后再放大.這個可以使用Matrix 來實現(xiàn),而且這樣可以縮短模糊化得時間
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) private void blur(Bitmap bkg) { long startMs = System.currentTimeMillis(); float radius = 20; bkg = small(bkg); Bitmap bitmap = bkg.copy(bkg.getConfig(), true); final RenderScript rs = RenderScript.create(this.getContext()); final Allocation input = Allocation.createFromBitmap(rs, bkg, Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_SCRIPT); final Allocation output = Allocation.createTyped(rs, input.getType()); final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs)); script.setRadius(radius); script.setInput(input); script.forEach(output); output.copyTo(bitmap); bitmap = big(bitmap); setBackground(new BitmapDrawable(getResources(), bitmap)); rs.destroy(); Log.d("zhangle","blur take away:" + (System.currentTimeMillis() - startMs )+ "ms"); } private static Bitmap big(Bitmap bitmap) { Matrix matrix = new Matrix(); matrix.postScale(4f,4f); //長和寬放大縮小的比例 Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true); return resizeBmp; } private static Bitmap small(Bitmap bitmap) { Matrix matrix = new Matrix(); matrix.postScale(0.25f,0.25f); //長和寬放大縮小的比例 Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true); return resizeBmp; }
您可能感興趣的文章:
- Android實現(xiàn)本地上傳圖片并設置為圓形頭像
- Android使用CircleImageView實現(xiàn)圓形頭像的方法
- Android Studio實現(xiàn)帶邊框的圓形頭像
- Android一行代碼實現(xiàn)圓形頭像
- Android圓形頭像拍照后“無法加載此圖片”的問題解決方法(適配Android7.0)
- Android 自定義圓形頭像CircleImageView支持加載網(wǎng)絡圖片的實現(xiàn)代碼
- android dialog背景模糊化效果實現(xiàn)方法
- Android實現(xiàn)個人資料頁面頭像背景模糊顯示包(狀態(tài)欄)
- Android實現(xiàn)用戶圓形頭像和模糊背景
相關文章
Android drawable微技巧,你不知道的drawable細節(jié)
今天小編就為大家分享一篇關于Android drawable微技巧,你不知道的drawable細節(jié),小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10Android 仿小米鎖屏實現(xiàn)九宮格解鎖功能(無需圖片資源)
最近公司要求做個九宮格解鎖,本人用的是小米手機,看著他那個設置鎖屏九宮格很好看,就做了該組件,不使用圖片資源,純代碼實現(xiàn),感興趣的朋友參考下吧2016-12-12