Android圖片等比例縮放和填充屏幕效果
本文實(shí)例為大家分享了Android圖片等比例縮放和填充屏幕的具體代碼,供大家參考,具體內(nèi)容如下
第一種方法:在ImageView的t同事設(shè)置兩個(gè)屬性
android:adjustViewBounds="true" android:scaleType="fitXY
第二中方法:用IamgeView的 android:scaleType 設(shè)置屬性的時(shí)候 填充屏幕出現(xiàn)的各種問(wèn)題
/** * 將圖片等比例縮放 setAdjustViewBounds setMaxWidth setMaxWidth必須同時(shí)設(shè)置才有效 * * @param context * @param view * 父容器 * @param image * 圖片控件 * @param source * 圖片資源 */ public static void setImageViewMathParent(Activity context, LinearLayout view, ImageView image, int source) { Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), source); DisplayMetrics displayMetrics = new DisplayMetrics(); context.getWindowManager().getDefaultDisplay() .getMetrics(displayMetrics); float scalew = (float) displayMetrics.widthPixels / (float) bitmap.getWidth(); image.setScaleType(ScaleType.MATRIX); Matrix matrix = new Matrix(); image.setAdjustViewBounds(true); if (displayMetrics.widthPixels < bitmap.getWidth()) { matrix.postScale(scalew, scalew); } else { matrix.postScale(1 / scalew, 1 / scalew); } image.setMaxWidth(displayMetrics.widthPixels); float ss = displayMetrics.heightPixels > bitmap.getHeight() ? displayMetrics.heightPixels : bitmap.getHeight(); image.setMaxWidth((int) ss); view.addView(image); if (bitmap != null && bitmap.isRecycled()) { bitmap.recycle(); } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android 實(shí)現(xiàn)搶購(gòu)倒計(jì)時(shí)功能的示例
這篇文章主要介紹了Android 實(shí)現(xiàn)搶購(gòu)倒計(jì)時(shí)功能的示例,幫助大家更好的理解和學(xué)習(xí)使用Android開(kāi)發(fā),感興趣的朋友可以了解下2021-03-03Kotlin Option與Either及Result實(shí)現(xiàn)異常處理詳解
Kotlin異常處理,異常是在程序運(yùn)行時(shí)可能發(fā)生的不必要的問(wèn)題,并突然終止您的程序。異常處理是一個(gè)過(guò)程,使用它可以防止程序出現(xiàn)可能破壞我們代碼的異常2022-12-12Android游戲開(kāi)發(fā)學(xué)習(xí)②焰火綻放效果實(shí)現(xiàn)方法
這篇文章主要介紹了Android游戲開(kāi)發(fā)學(xué)習(xí)②焰火綻放效果實(shí)現(xiàn)方法,以實(shí)例形式詳細(xì)分析了Android中粒子對(duì)象類(lèi)Particle類(lèi)和粒子集合類(lèi)ParticleSet類(lèi)及物理引擎ParticleThread類(lèi) 的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10Android開(kāi)發(fā)中畫(huà)廊視圖Gallery的兩種使用方法分析
這篇文章主要介紹了Android開(kāi)發(fā)中畫(huà)廊視圖Gallery的兩種使用方法,結(jié)合實(shí)例形式分析了Android畫(huà)廊視圖Gallery的簡(jiǎn)單布局與功能實(shí)現(xiàn)相關(guān)操作技巧,需要的朋友可以參考下2018-01-01Android LayoutInflater.inflate()詳解及分析
這篇文章主要介紹了Android LayoutInflater.inflate()詳解及分析的相關(guān)資料,需要的朋友可以參考下2017-01-01Android自定義View實(shí)現(xiàn)風(fēng)車(chē)效果
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)風(fēng)車(chē)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08Android?Jetpack組件中LifeCycle作用詳細(xì)介紹
Jetpack是谷歌在Google?I/O?2017大會(huì)上發(fā)布一套幫助開(kāi)發(fā)者解決Android架構(gòu)設(shè)計(jì)的方案,而Lifecycle是Jetpack?architecture下的一部分,一起來(lái)看一下Lifecycle的使用及原理分析2022-09-09