android ImageView 寬度設定,高度自適應


最近碰到一個需求,要求是在不知道圖片寬度和高度的情況下,讓圖片在指定寬度內充滿,同時高度自適應,在網絡上查找了一下,也有很多解決方法,后來針對自己的應用,選擇了一個修改較小的方案,最后證明效果還是蠻不錯的,記錄在這里,希望能幫助到有同樣需求的人。

好了,言歸正傳

首先,需要給你的ImageView布局加上android:adjustViewBounds="true"

<ImageView android:id="@+id/test_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:layout_gravity="center"
android:contentDescription="@string/app_name"
android:src="@drawable/ic_launcher" />

 

然后,在代碼里設置ImageView.最大寬度和最大高度,因為adjustViewBounds屬性只有在設置了最大高度和最大寬度后才會起作用

int screenWidth = getScreenWidth(this);
ViewGroup.LayoutParams lp = testImage.getLayoutParams();
lp.width = screenWidth;
lp.height = LayoutParams.WRAP_CONTENT;
testImage.setLayoutParams(lp);

testImage.setMaxWidth(screenWidth);
testImage.setMaxHeight(screenWidth * 5); 這里其實可以根據需求而定,我這里測試為最大寬度的5倍


ok,接下來,再按照常規方法加載圖片就會得倒預期的效果了,需要的同學可以試試,good luck.


下面是我的應用效果,有想看的可以自己去找下
http://android.myapp.com/myapp/detail.htm?apkName=com.puerlink.igo


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM