[問題] ListView內嵌ImageView的問題
已有爬文+Google過
現在遇到的問題是,ImageView不知道該怎麼依長寬比做自動放大。
反之自動縮小是可以的。
我是在ListView裡用BaseAdapter去使用自定義的layout
xml檔內容如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/pic"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="5"
android:adjustViewBounds="true"
android:contentDescription="@null"
android:padding="10dp"
android:scaleType="fitCenter" />
<TextView
android:id="@+id/name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:gravity="left|center_vertical"
android:padding="3dp" />
</LinearLayout>
該ImageView只要遇到比較大的圖,都會自動縮小
可是遇到比較小的圖,並不會自動放大
我是想要寬度要match_parent,並保持長寬比讓高度可以自動調整大小;
過大沒關係,上層讓ListView去滑就行了。
有查過ImageView有兩個屬性跟放大縮小有關的。
一個是adjustViewBounds,保持長寬比。
http://blog.csdn.net/ada168855/article/details/8645212
一個是scaleType,試過用CENTER_CROP會放大,不過會被裁掉,其他的設定了都不會變。
http://bluegray-javalearning.blogspot.tw/2011/06/imageviewscaletype.html
是有比較麻煩的方法:直接用XML設定固定高度,它真的就會變大了
有想到可以直接用程式去計算,可是試過它都不理我 :(
還是希望能直接從XML設定自動計算。
另外,圖的來源是從網路上載下來的,所以我不能控制原始圖檔的大小。
跪求神人解,感激不盡 <(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.72.45
推
02/10 18:18, , 1F
02/10 18:18, 1F
→
02/10 18:18, , 2F
02/10 18:18, 2F
感覺程式計算應該是比較好的解吧?
應該可以適用在各種不同的螢幕大小和方向
我再試看看這個方法
感謝
→
02/10 21:00, , 3F
02/10 21:00, 3F
fill_parent
wrap_content
兩個都試過了,跟match_parent結果一樣。
推
02/11 01:22, , 4F
02/11 01:22, 4F
→
02/11 01:23, , 5F
02/11 01:23, 5F
→
02/11 01:24, , 6F
02/11 01:24, 6F
→
02/11 01:25, , 7F
02/11 01:25, 7F
唔,baobomb大的意思應該是重新產生適合符合尺寸的圖,再重新顯示吧?
這個我也有想過,不過OOM的問題太困難了,所以我都是交給AQuery處理的Orz...
※ 編輯: tails32100 來自: 220.134.72.45 (02/11 10:52)
推
02/12 21:47, , 8F
02/12 21:47, 8F
→
02/12 21:48, , 9F
02/12 21:48, 9F
推
02/18 13:16, , 10F
02/18 13:16, 10F
→
02/18 13:16, , 11F
02/18 13:16, 11F
→
02/18 13:17, , 12F
02/18 13:17, 12F
推
02/18 13:19, , 13F
02/18 13:19, 13F
推
02/18 13:21, , 14F
02/18 13:21, 14F
→
02/18 13:21, , 15F
02/18 13:21, 15F
centerCrop,但是圖片會被切掉Orz
現在覺得ListView的情況還好,配合螢幕寬去設value/dimens.xml還能看
今天發現要是ViewPager+ScrollView 配上比螢幕高的圖就GG了
因為高是未知數,調固定寬又沒用....
目前還在找解....
※ 編輯: tails32100 來自: 220.134.72.45 (02/19 09:45)
目前有想到一個偷吃步的解法:
直接用WebView就可以了...
HTML碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport"
content="width=device-width;initial-scale=1.0;
maximum-scale=3.0; user-scalable=1;">
<style type="text/css">
html,body,img {
margin: 0px;
padding: 0px;
width: 100%;
}
body {
padding-top:20px;
}
</style>
</head>
<body>
<img src="file:///sdcard/file.png"/>
</body>
</html>
原本一直讀不到本機的檔案,後來發現是這個設定沒加...
WebSettings websettings = webView.getSettings();
websettings.setAllowFileAccess(true);
※ 編輯: tails32100 來自: 59.126.68.4 (02/20 02:05)
推
02/21 22:14, , 16F
02/21 22:14, 16F
有試過了,謝謝你的建議 :)
我後來有想過
會不會是因為圖片是動態載入才會有這樣的問題
因為別人的文章就很正常...
http://blog.csdn.net/xilibi2003/article/details/6628668
等等來做實驗Orz...
※ 編輯: tails32100 來自: 59.126.68.4 (02/22 21:25)
後來試到一半想到,別人的文章是已經固定住長寬了
就跟我設固定高的意思是一樣了....
有去解出你管的原始碼,也是用固定高解決。
※ 編輯: tails32100 來自: 59.126.68.4 (02/22 22:51)
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章