天天看點

roid imageView圖檔按比例縮放

android:scaletype可控制圖檔的縮放方式,示例代碼如下:

<code>1</code>

<code>&lt;</code><code>imageview</code> <code>android:id</code><code>=</code><code>"@+id/img"</code>

<code>2</code>

<code>     </code><code>android:src</code><code>=</code><code>"@drawable/logo"</code>

<code>3</code>

<code>     </code><code>android:scaletype</code><code>=</code><code>"centerinside"</code>

<code>4</code>

<code>    </code><code>android:layout_width</code><code>=</code><code>"60dip"</code>

<code>5</code>

<code>    </code><code>android:layout_height</code><code>=</code><code>"60dip"</code>

<code>6</code>

<code>    </code><code>android:layout_centervertical</code><code>=</code><code>"true"</code><code>/&gt;</code>

說明:centerinside表示按比例縮放圖檔,使得圖檔長 (寬)的小于等于視圖的相應次元。

注意:控制的圖檔為資源而不是背景,即android:src="@drawable/logo",而非android::background="@drawable/logo",我就笨笨地犯了這個低級錯誤,導緻錯怪人家scaletype不起作用。程式中動态加載圖檔也類似,如:應該imgview.setimageresource((integer)mdata.get(position).get("img"));而非imgview.setbackgroundresource((integer)mdata.get(position).get("img"));

附:更詳細的scaletype說明:

center /center 在視圖中心顯示圖檔,并且不縮放圖檔

center_crop / centercrop 按比例縮放圖檔,使得圖檔長 (寬)的大于等于視圖的相應次元

center_inside / centerinside 按比例縮放圖檔,使得圖檔長 (寬)的小于等于視圖的相應次元

fit_center / fitcenter 按比例縮放圖檔到視圖的最小邊,居中顯示

fit_end / fitend 按比例縮放圖檔到視圖的最小邊,顯示在視圖的下部分位置

fit_start / fitstart 把圖檔按比例擴大/縮小到視圖的最小邊,顯示在視圖的上部分位置

fit_xy / fitxy 把圖檔不按比例縮放到視圖的大小顯示

matrix / matrix 用矩陣來繪制