Android入门---ImageView(图像视图)

      ImageView是Androird中用于加载图片的控件,今天来学一些简单的属性。



一、ImageView的src属性和blackground属性的区别:


1、当使用src填入图片时,是按照图片大小直接填充,并不会进行拉伸 ;
2、而使用background填入图片,则是会根据ImageView给定的宽度和高度来进行拉伸


src和background合起来使用,把图片放到黄色背景,上效果如图:



activity_main.xml中的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    android:gravity="center"
    >
    
    <ImageView 
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:src="@drawable/yida"
        android:background="#FFCC12"
        />

</LinearLayout>


调整边界来保持所显示图像的长宽比,
下面的ImageView是限制了最大宽度与高度,并且设置了调整边界来保持所显示图像的长宽比(原图比例不变,只改变大小,使最长的边和我们定好的边相等即可)
效果图:




activity_main.xml中的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:orientation="vertical" >

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


    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:maxHeight="200px"
        android:maxWidth="200px"
        android:src="@drawable/yida" />

</LinearLayout>


按横纵比缩放的两种情况,如图:




activity_main.xml中的代码:


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:orientation="vertical" >

    <ImageView
        android:layout_width="300px"
        android:layout_height="300px"
        android:layout_margin="10px"
        android:background="#FFCC12"
        android:scaleType="centerCrop"
        android:src="@drawable/yida" />

    <ImageView
        android:layout_width="300px"
        android:layout_height="300px"
        android:layout_margin="10px"
        android:background="#FFCC12"
        android:scaleType="centerInside"
        android:src="@drawable/yida" />

</LinearLayout>

centerCrop:按横纵比缩放,直接完全覆盖整个ImageView (最短的边和我们的空间的大小一样)
centerInside:按横纵比缩放,使得ImageView能够完全显示这个图片(最长的边和我们的空间大小一样)


属性补充:


android:scaleType用于设置显示的图片如何缩放或者移动以适应ImageView的大小 

Java代码中可以通过imageView.setScaleType(ImageView.ScaleType.CENTER);来设置 

可选值如下:

fitXY: 对图像的横向与纵向进行独立缩放,使得该图片完全适应ImageView,但是图片的横纵比可能会发生改变

fitStart:保持纵横比缩放图片,知道较长的边与Image的编程相等,缩放完成后将图片放在ImageView的左上角

fitCenter:保持纵横比缩放图片,缩放后放于中间;

fitEnd:保持纵横比缩放图片,缩放后放于右下角;

center:保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。

centerCrop:保持横纵比缩放图片,直到完全覆盖ImageView,可能会出现图片的显示不完全

centerInside:保持横纵比缩放图片,直到ImageView能够完全地显示图片(图片显示完全)

matrix:默认值,不改变原图的大小,从ImageView的左上角开始绘制原图,原图超过ImageView的部分作裁剪处理







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值