在android4.0的版本之前是可以通過(guò)webView的一個(gè)屬性設(shè)置圖片大小自適應(yīng)的,但是在4.0之后該屬性設(shè)置無(wú)效,現(xiàn)在解決的辦法是通過(guò)得到html中的Img標(biāo)簽,然后在html中插入javascript語(yǔ)言,修改img的屬性
成都創(chuàng)新互聯(lián)公司成立于2013年,先為樂(lè)昌等服務(wù)建站,樂(lè)昌等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為樂(lè)昌企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
自己處理bitmap
把屏幕分辨率上傳,讓后端處理返回適應(yīng)大小的圖片
需要給你的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" /
然后,在代碼里設(shè)置ImageView.最大寬度和最大高度,因?yàn)閍djustViewBounds屬性只有在設(shè)置了最大高度和最大寬度后才會(huì)起作用
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); 這里其實(shí)可以根據(jù)需求而定,我這里測(cè)試為最大寬度的5倍
[img]ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/ic_launcher"?/
寬度和高度使用fill_parent (填充父窗體)
fill_parent 可以使控件充滿(mǎn)父控件,也就是你說(shuō)的自動(dòng)使用圖片控件外的控件大小。
不知道你什么情況下要讓圖片自適應(yīng)不通過(guò)分辨率。給你舉個(gè)例子吧,希望對(duì)你有所幫助!當(dāng)你把圖片塞到imageView中時(shí),布局注意
不要把值定死 比如:
android:layout_width="100dp"
android:layout_height="90dp"
直接給他
android:layout_width="fill_parent"
android:layout_height="wrap_content"
這樣 ,才能適應(yīng)你分辨率。
還有就是drawable_hdpi ,ldpi,mdpi分別代表不同分辨率drawable_hdpi(800*480),ldpi(480*320),mdpi(320*240),你自己放圖片時(shí)注意了。