安卓學習筆記------imageView控件的學習

src屬性和background屬性的區別:

①background通常指的都是背景,而src指的是內容
②當使用src填入圖片時,是按照圖片大小直接填充,并不會進行拉伸,而使用background填入圖片,則是會根據ImageView給定的寬度來進行拉伸
寫代碼驗證了一下

<ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/collect" />

    <ImageView
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:background="@drawable/collect" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/collect" />

    <ImageView
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:src="@drawable/collect" />
image.png
解決拉伸導致變形的方法

剛才第二張圖片因為拉伸導致變形了,可以通過drawable的Bitmap資源文件來完成,然后blackground屬性設置為該文件

<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@id/col"
    android:gravity="top"
    android:src="@drawable/collect"
    android:tileMode="disabled" >
</bitmap>

android:tileMode="disabled" 禁止平鋪

設置透明度

setAlpha這個屬性,只有src時才是有效果的

adjustViewBounds設置縮放是否保存原圖長寬比

ImageView提供了adjustViewBounds屬性,用于設置縮放時是否保持原圖長寬比, 單獨設置不起作用,需要配合maxWidth和maxHeight屬性一起使用.而后面這兩個屬性也是需要adjustViewBounds為true才會生效.

android:maxHeight:設置ImageView的最大高度
android:maxWidth:設置ImageView的最大寬度

<!-- 正常的圖片 -->
    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5px"
        android:src="@drawable/collect" />
    <!-- 限制了最大寬度與高度,并且設置了調整邊界來保持所顯示圖像的長寬比-->
    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:adjustViewBounds="true"
        android:maxHeight="50dp"
        android:maxWidth="50dp"
        android:src="@drawable/collect" />
image.png
scaleType設置縮放類型

fitXY:對圖像的橫向與縱向進行獨立縮放,使得該圖片完全適應ImageView,但是圖片的橫縱比可能會發生改變
fitStart:保持縱橫比縮放圖片,知道較長的邊與Image的編程相等,縮放完成后將圖片放在ImageView的左上角
fitCenter:同上,縮放后放于中間;
fitEnd:同上,縮放后放于右下角;
center:保持原圖的大小,顯示在ImageView的中心。當原圖的size大于ImageView的size,超過部分裁剪處理。
centerCrop:保持橫縱比縮放圖片,知道完全覆蓋ImageView,可能會出現圖片的顯示不完全
centerInside:保持橫縱比縮放圖片,直到ImageView能夠完全地顯示圖片
matrix:默認值,不改變原圖的大小,從ImageView的左上角開始繪制原圖, 原圖超過ImageView的部分作裁剪處理

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容