- 浏览: 12213 次
- 性别:
- 来自: 济南
文章分类
最新评论
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>
相关推荐
在Android开发中,ImageView是用于显示图像的常见组件。它具有丰富的功能,其中之一就是通过`scaleType`属性来控制图片的缩放方式。这个属性决定了图片如何适应ImageView的大小,对于UI设计和用户体验有着重要的影响...
ImageView 图片显示样式的几种类型。android:scaleType是控制图片如何resized/moved来匹对ImageView的size。
Android 中ImageView的ScaleType使用方法 ImageView的ScaleType属性,表示的是ImageView中资源图片的填充方式。scaleType的属性值有好几种,分别是: matrix(默认) center centerCrop centerInside fitCenter...
本文实例讲述了Android开发中ImageView的scaletype属性用法。分享给大家供大家参考,具体如下: ImageView的属性android:scaleType,即 ImageView.setScaleType(ImageView.ScaleType)。android:scaleType是控制图片...
Android中ImageView.ScaleType使用方法详细介绍 ScaleType是Android中ImageView的属性,用以表示显示图片的方式。共有8种取值,分别是:ScaleType.CENTER、ScaleType.CENTER_CROP、ScaleType.CENTER_INSIDE、...
本篇文章将详细解析`android:scaleType`的各个取值及其含义。 1. **CENTER / center** 这个设置意味着图片会保持原始大小并居中显示在ImageView内。如果图片的尺寸大于ImageView,那么超出的部分将会被裁剪,用户...
在Android开发中,ImageView是用于显示图像的常见组件,它具有丰富的功能,其中之一就是通过`scaletype`属性来控制图像的缩放方式。这个属性允许开发者根据需求调整图像在ImageView中的显示效果,以达到最佳的视觉...
它具有一个重要的属性——`android:scaleType`,这个属性决定了图像如何适应或者填充ImageView的空间。理解并熟练掌握这个属性的用法,对于优化UI设计和图像展示至关重要。下面将详细解释每个`android:scaleType`值...
在Android开发中,ImageView是一个非常常见的控件,用于展示图像资源。它可以从本地资源、assets目录或网络加载图片。在处理图像显示时,一个至关重要的属性便是`scaleType`,这个属性决定了图片如何适应ImageView的...
本篇文章将深入探讨ImageView的ScaleType属性,并通过源码解析来理解其工作原理。 ScaleType共有8种不同的选项,它们分别是: 1. **matrix** - 这是最灵活的模式,允许开发者自定义图像缩放的矩阵。默认情况下,...
scaleType的属性值有:matrix fitXY fitStart fitCenter fitEnd center centerCrop centerInside 它们之间的区别如下: matrix 用矩阵来绘制(从左上角起始的矩阵区域) fitXY 把图片不按比例扩大/缩小到View的大小...
在Android开发中,`ImageView`是一个非常常用的组件,用于显示图像资源。为了适应不同尺寸的图像和用户界面需求,`ImageView`提供了一个关键属性——`ScaleType`,它定义了图片如何在`ImageView`内调整大小和定位。...
### Android ScaleType 详解 #### 一、引言 在Android开发中,经常会遇到需要处理图片缩放与填充的问题,特别是在使用`ImageView`时。为了更好地控制图片在`ImageView`中的显示方式,Android提供了一个非常实用的...
这篇知识分享将详细介绍如何实现一个可以自定义圆角的ImageView,以及如何设置 scaletype。 首先,我们需要创建一个新的类继承自Android的ImageView,并添加绘制圆角的功能。在自定义的ImageView中,我们需要重写`...
综上所述,要在Android的ImageView上指定位置添加图片,并实现等比例缩放和自适应,我们需要对Android的视图布局、ImageView的ScaleType、Bitmap的缩放以及适应不同屏幕尺寸有深入理解。通过以上代码示例,我们可以...