`

ImageView详解 ScaleType 安卓无忧第二篇

 
阅读更多

ImageView的全路径:android.widget.ImageView.显示任意图像,例如图标。ImageView类可以加载各种来源的图片(如资源或图片库),需要计算图像的尺寸,比便它可以在其他布局中使用,并提供例如缩放和着色(渲染)各种显示选项。

1 XML属性

android:layout_width=""---控件宽

android:layout_height=""---控件高

android:scaleType=""---控件如何显示

参数:

center---按图片原来的尺寸居中显示,当图片的长(宽)超过view的长(宽),则截取图片居中部分显示

centerCrop---按比例扩大图片的尺寸居中显示,使得图片长(宽)等于或大于view的长(宽)

centerInside---将图片的内容完整居中显示,通过按比例缩小或原来的尺寸使得图片长(宽)小于或等于view的长(宽)

fitCenter---把图片按比例扩大/缩小到view的宽度,居中显示

fitEnd---把图片按比例扩大/缩小到view的宽度,显示在view的下半部分位置

fitStart---把图片按比例扩大/缩小到view 的宽度,显示在view的上半部分位置

fitXY---把图片不按比例扩大/缩小到view的大小显示

matrix---用矩阵来绘制

2 ImageView中常用方法说明

setAlpha(intalpha) 设置ImageView的透明度

setImageBitmap(Bitmapbm) 设置ImageView所显示的内容

为指定的Bitmap对象

setImageDrawable(Drawabledrawable) 设置ImageView所显示的内容

为指定的Drawable对象

setImageResource(intresId) 设置ImageView所显示的内

容为指定id的资源

setImageURI(Uriuri) 设置ImageView所显示的内

容为指定Uri

setSelected(booleanselected) 设置ImageView的选中状态


3 ImageView例子





例子代码

<?xml version="1.0" encoding="utf-8"?>
<ScrollView 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">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center_horizontal"
            android:text="原图" />

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:src="@drawable/head7" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center_horizontal"
            android:text="AdjustViewBounds
            ImageView大小自动调整,ImageView 没有红色背景" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <ImageView
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:adjustViewBounds="true"
                android:background="#ff0000"
                android:maxHeight="170dp"
                android:maxWidth="140dp"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="50dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginLeft="10dp"
                android:adjustViewBounds="true"
                android:background="#ff0000"
                android:maxHeight="170dp"
                android:maxWidth="140dp"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="160dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginLeft="10dp"
                android:adjustViewBounds="true"
                android:background="#ff0000"
                android:maxHeight="170dp"
                android:maxWidth="140dp"
                android:src="@drawable/head7" />
        </LinearLayout>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center_horizontal"
            android:text="cropToPadding属性" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:background="#ff0000"
                android:cropToPadding="true"
                android:maxHeight="170dp"
                android:maxWidth="140dp"
                android:scrollY="-10dp"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginLeft="10dp"
                android:background="#ff0000"
                android:cropToPadding="true"
                android:maxHeight="170dp"
                android:maxWidth="140dp"
                android:scrollY="10dp"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:layout_marginLeft="10dp"
                android:background="#ff0000"
                android:cropToPadding="true"
                android:maxHeight="170dp"
                android:maxWidth="140dp"
                android:scrollY="20dp"
                android:src="@drawable/head7" />
        </LinearLayout>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:text="fitXY" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <ImageView
                android:layout_width="80dp"
                android:layout_height="140dp"
                android:background="#ff0000"
                android:scaleType="fitXY"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="60dp"
                android:layout_height="60dp"
                android:layout_marginLeft="10dp"
                android:background="#ff0000"
                android:scaleType="fitXY"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="170dp"
                android:layout_height="180dp"
                android:layout_marginLeft="10dp"
                android:background="#ff0000"
                android:scaleType="fitXY"
                android:src="@drawable/head7" />
        </LinearLayout>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:text="fitStart" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <ImageView
                android:layout_width="80dp"
                android:layout_height="140dp"
                android:background="#ff0000"
                android:scaleType="fitStart"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="60dp"
                android:layout_height="60dp"
                android:layout_marginLeft="10dp"
                android:background="#ff0000"
                android:scaleType="fitStart"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="170dp"
                android:layout_height="180dp"
                android:layout_marginLeft="10dp"
                android:background="#ff0000"
                android:scaleType="fitStart"
                android:src="@drawable/head7" />
        </LinearLayout>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:text="fitEnd" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <ImageView
                android:layout_width="80dp"
                android:layout_height="140dp"
                android:background="#ff0000"
                android:scaleType="fitEnd"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="60dp"
                android:layout_height="60dp"
                android:layout_marginLeft="10dp"
                android:background="#ff0000"
                android:scaleType="fitEnd"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="170dp"
                android:layout_height="180dp"
                android:layout_marginLeft="10dp"
                android:background="#ff0000"
                android:scaleType="fitEnd"
                android:src="@drawable/head7" />
        </LinearLayout>


        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:text="fitCenter" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <ImageView
                android:layout_width="80dp"
                android:layout_height="90dp"
                android:background="#ff0000"
                android:scaleType="fitCenter"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="40dp"
                android:layout_height="60dp"
                android:layout_marginLeft="10dp"
                android:background="#ff0000"
                android:scaleType="fitCenter"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="170dp"
                android:layout_height="180dp"
                android:layout_marginLeft="10dp"
                android:background="#ff0000"
                android:scaleType="fitCenter"
                android:src="@drawable/head7" />
        </LinearLayout>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:text="center" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <ImageView
                android:layout_width="80dp"
                android:layout_height="140dp"
                android:background="#ff0000"
                android:scaleType="center"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="60dp"
                android:layout_height="60dp"
                android:layout_marginLeft="10dp"
                android:background="#ff0000"
                android:scaleType="center"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="170dp"
                android:layout_height="180dp"
                android:layout_marginLeft="10dp"
                android:background="#ff0000"
                android:scaleType="center"
                android:src="@drawable/head7" />
        </LinearLayout>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:text="centerInside" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <ImageView
                android:layout_width="80dp"
                android:layout_height="90dp"
                android:background="#ff0000"
                android:scaleType="centerInside"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="40dp"
                android:layout_height="60dp"
                android:layout_marginLeft="10dp"
                android:background="#ff0000"
                android:scaleType="centerInside"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="170dp"
                android:layout_height="180dp"
                android:layout_marginLeft="10dp"
                android:background="#ff0000"
                android:scaleType="centerInside"
                android:src="@drawable/head7" />
        </LinearLayout>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal"
            android:text="centerCrop" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <ImageView
                android:layout_width="80dp"
                android:layout_height="90dp"
                android:background="#ff0000"
                android:scaleType="centerCrop"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="40dp"
                android:layout_height="60dp"
                android:layout_marginLeft="10dp"
                android:background="#ff0000"
                android:scaleType="centerCrop"
                android:src="@drawable/head7" />

            <ImageView
                android:layout_width="170dp"
                android:layout_height="180dp"
                android:layout_marginLeft="10dp"
                android:background="#ff0000"
                android:scaleType="centerCrop"
                android:src="@drawable/head7" />
        </LinearLayout>
    </LinearLayout>
</ScrollView>

最后,例子都来源于安卓无忧,请去应用宝下载安卓无忧http://android.myapp.com/myapp/detail.htm?apkName=com.shandong.mm.androidstudy,源码例子文档一网打尽。百度网盘地址:http://yun.baidu.com/share/link?shareid=996618543&uk=1000858045




最后,例子都来源于安卓无忧,请去应用宝下载安卓无忧http://android.myapp.com/myapp/detail.htm?apkName=com.shandong.mm.androidstudy,源码例子文档一网打尽。百度网盘地址:http://yun.baidu.com/share/link?shareid=996618543&uk=1000858045

分享到:
评论

相关推荐

    ImageView的scaleType属性练习

    在Android开发中,ImageView是用于显示图像的常见组件。它具有丰富的功能,其中之一就是通过`scaleType`属性来控制图片的缩放方式。这个属性决定了图片如何适应ImageView的大小,对于UI设计和用户体验有着重要的影响...

    ImageView android:scaleType的属性

    ImageView 图片显示样式的几种类型。android:scaleType是控制图片如何resized/moved来匹对ImageView的size。

    Android 中ImageView的ScaleType使用方法

    Android 中ImageView的ScaleType使用方法 ImageView的ScaleType属性,表示的是ImageView中资源图片的填充方式。scaleType的属性值有好几种,分别是: matrix(默认) center centerCrop centerInside fitCenter...

    Android开发中ImageView的scaletype属性用法分析

    本文实例讲述了Android开发中ImageView的scaletype属性用法。分享给大家供大家参考,具体如下: ImageView的属性android:scaleType,即 ImageView.setScaleType(ImageView.ScaleType)。android:scaleType是控制图片...

    Android中imageview.ScaleType使用方法详细介绍

    Android中ImageView.ScaleType使用方法详细介绍 ScaleType是Android中ImageView的属性,用以表示显示图片的方式。共有8种取值,分别是:ScaleType.CENTER、ScaleType.CENTER_CROP、ScaleType.CENTER_INSIDE、...

    图解说明android中ImageView的scaletype属性.pdf

    本篇文章将详细解析`android:scaleType`的各个取值及其含义。 1. **CENTER / center** 这个设置意味着图片会保持原始大小并居中显示在ImageView内。如果图片的尺寸大于ImageView,那么超出的部分将会被裁剪,用户...

    图解说明android中ImageView的scaletype属性.rar

    在Android开发中,ImageView是用于显示图像的常见组件,它具有丰富的功能,其中之一就是通过`scaletype`属性来控制图像的缩放方式。这个属性允许开发者根据需求调整图像在ImageView中的显示效果,以达到最佳的视觉...

    图解说明android 中ImageView的scaletype属性.pdf

    它具有一个重要的属性——`android:scaleType`,这个属性决定了图像如何适应或者填充ImageView的空间。理解并熟练掌握这个属性的用法,对于优化UI设计和图像展示至关重要。下面将详细解释每个`android:scaleType`值...

    实例解析Android ImageView的scaleType属性

    在Android开发中,ImageView是一个非常常见的控件,用于展示图像资源。它可以从本地资源、assets目录或网络加载图片。在处理图像显示时,一个至关重要的属性便是`scaleType`,这个属性决定了图片如何适应ImageView的...

    Android源码系列之深入理解ImageView的ScaleType属性

    本篇文章将深入探讨ImageView的ScaleType属性,并通过源码解析来理解其工作原理。 ScaleType共有8种不同的选项,它们分别是: 1. **matrix** - 这是最灵活的模式,允许开发者自定义图像缩放的矩阵。默认情况下,...

    Android 拖拽及ImageView scaleType使用实例

    scaleType的属性值有:matrix fitXY fitStart fitCenter fitEnd center centerCrop centerInside 它们之间的区别如下: matrix 用矩阵来绘制(从左上角起始的矩阵区域) fitXY 把图片不按比例扩大/缩小到View的大小...

    图片说明Andorid中ImageView的不同属性ScaleType的区

    在Android开发中,`ImageView`是一个非常常用的组件,用于显示图像资源。为了适应不同尺寸的图像和用户界面需求,`ImageView`提供了一个关键属性——`ScaleType`,它定义了图片如何在`ImageView`内调整大小和定位。...

    android scaleType用法介绍

    ### Android ScaleType 详解 #### 一、引言 在Android开发中,经常会遇到需要处理图片缩放与填充的问题,特别是在使用`ImageView`时。为了更好地控制图片在`ImageView`中的显示方式,Android提供了一个非常实用的...

    可以自定义圆角的ImageView ..允许设置scaletype

    这篇知识分享将详细介绍如何实现一个可以自定义圆角的ImageView,以及如何设置 scaletype。 首先,我们需要创建一个新的类继承自Android的ImageView,并添加绘制圆角的功能。在自定义的ImageView中,我们需要重写`...

    android 在imageview上的指定位置添加图片 图片尺寸自适应

    综上所述,要在Android的ImageView上指定位置添加图片,并实现等比例缩放和自适应,我们需要对Android的视图布局、ImageView的ScaleType、Bitmap的缩放以及适应不同屏幕尺寸有深入理解。通过以上代码示例,我们可以...

Global site tag (gtag.js) - Google Analytics