A04_ImageView的ScaleType屬性設置

一、對比顯示ScaleType的不同效果

二、使用嵌套LinearLayout爲每一張ImageView添加文字說明

三、ScaleType的8個屬性簡要說明:

1.scaleType=“matrix” 

是保持原圖大小、從左上角的點開始,以矩陣形式繪圖。

2.scaleType=“fitXY”  

不按比例縮放圖片,目標是把圖片塞滿整個View。

3.scaleType=“fitStart”

是將原圖沿左上角的點(即matrix方式繪圖開始的點),按比例縮放原圖繪製而成的。

4.scaleType=“fitCenter”

是將原圖沿上方居中的點(即matrix方式繪圖第一行的居中的點),按比例縮放原圖繪製而成的。

5.scaleType=“fitEnd”

是將原圖沿下方居中的點(即matrix方式繪圖最後一行的居中的點),按比例縮放原圖繪製而成的。

6.scaleType=“Center”

是保持原圖大小,以原圖的幾何中心點和ImagView的幾何中心點爲基準,只繪製ImagView大小的圖像。

7.scaleType=“centerCrop”

不保持原圖大小,以原圖的幾何中心點和ImagView的幾何中心點爲基準,只繪製ImagView大小的圖像(以填滿ImagView爲目標,對原圖進行裁剪)。

3.scaleType=“centerInside”

不保持原圖大小,以原圖的幾何中心點和ImagView的幾何中心點爲基準,只繪製ImagView大小的圖像(以顯示完整圖片爲目標,對原圖進行縮放)。

四、設置方法

java:

使用setImageResource()設置使用的圖片

使用setScaleType()設置圖片拉伸屬性

xml:

使用android:src="" 設置使用的圖片

使用android:scaleType=""設置圖片拉伸屬性
                

先看原始圖片:


效果圖:


xml代碼:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/field"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <LinearLayout 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginRight="5dp" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="matrix"
                android:textColor="#ff00ff" />

            <ImageView
                android:id="@+id/imageViewId"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:background="#f0f0f0"
                android:scaleType="matrix"
                android:src="@drawable/zhl" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginRight="5dp" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="fitXY"
                android:textColor="#ff00ff" />

            <ImageView
                android:id="@+id/imageViewId"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:background="#f0f0f0"
                android:scaleType="fitXY"
                android:src="@drawable/zhl" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginRight="5dp" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="fitStart"
                android:textColor="#ff00ff" />

            <ImageView
                android:id="@+id/imageViewId"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:background="#f0f0f0"
                android:scaleType="fitStart"
                android:src="@drawable/zhl" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginRight="5dp" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="fitCenter"
                android:textColor="#ff00ff" />

            <ImageView
                android:id="@+id/imageViewId"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:background="#f0f0f0"
                android:scaleType="fitCenter"
                android:src="@drawable/zhl" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginRight="5dp" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="fitEnd"
                android:textColor="#ff00ff" />

            <ImageView
                android:id="@+id/imageViewId"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:background="#f0f0f0"
                android:scaleType="fitEnd"
                android:src="@drawable/zhl" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginRight="5dp" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="center"
                android:textColor="#ff00ff" />

            <ImageView
                android:id="@+id/imageViewId"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:background="#f0f0f0"
                android:scaleType="center"
                android:src="@drawable/zhl" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginRight="5dp" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="centerCrop"
                android:textColor="#ff00ff" />

            <ImageView
                android:id="@+id/imageViewId"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:background="#f0f0f0"
                android:scaleType="centerCrop"
                android:src="@drawable/zhl" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_marginRight="5dp" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="centerInside"
                android:textColor="#ff00ff" />

            <ImageView
                android:id="@+id/imageViewId"
                android:layout_width="100dp"
                android:layout_height="100dp"
                android:background="#f0f0f0"
                android:scaleType="centerInside"
                android:src="@drawable/zhl" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>


參考:點擊打開鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章