`
天天向上1989
  • 浏览: 418301 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

【转】ImageView大小控制

阅读更多

正文

  一、结构

    java.lang.Object

              android.view.View

                android.widget.ImageView

 

    已知直接子类:

    ImageButton, QuickContactBadge 

 

    已知间接子类:

    ZoomButton

 

  二、类概述

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

 

  三、XML属性

属性名称

描述

android:adjustViewBounds

是否保持宽高比。需要与 maxWidth MaxHeight一起使用,否则单独使用没有效果。

android:cropToPadding

是否截取指定区域用空白代替。单独设置无效果,需要与 scrollY一起使用,效果如下,实现代码见代码部分:

 

 

android:maxHeight

设置 View的最大高度,单独使用无效,需要与 setAdjustViewBounds一起使用。如果想设置图片固定大小,又想保持图片宽高比,需要如下设置:

1)  设置 setAdjustViewBounds true

2)  设置 maxWidth MaxHeight

3)  设置设置 layout_width layout_height wrap_content

android:maxWidth

设置 View的最大宽度。同上。

android:scaleType

设置图片的填充方式。

matrix

0

用矩阵来绘图

 

fitXY

1

拉伸图片(不按比例)以填充 View的宽高

 

layout_

height

:30px


layout_

width

:120px

fitStart

2

按比例拉伸图片,拉伸后图片的高度为 View的高度,且显示在 View的左边

 

fitCenter

3

按比例拉伸图片,拉伸后图片的高度为 View的高度,且显示在 View的中间

 

fitEnd

4

按比例拉伸图片,拉伸后图片的高度为 View的高度,且显示在 View的右边

 

center

5

按原图大小显示图片,但图片宽高大于 View的宽高时,截图图片中间部分显示

 

 

layout_

height

:60px


layout_

width

:80px


padding

:10px

 

centerCrop

6

按比例放大原图直至等于某边 View的宽高显示。

 

centerInside

7

当原图宽高或等于 View的宽高时,按原图大小居中显示;反之将原图缩放至 View的宽高居中显示。

 

android:src

设置 View drawable(如图片,也可以是颜色,但是需要指定 View的大小 )

android:tint

将图片渲染成指定的颜色。见下图:

左边为原图,右边为设置后的效果,见后面代码。

分享到:
评论
2 楼 无愧衾影 2011-03-22  
Thanks!
1 楼 无愧衾影 2011-03-22  

貌似可以发帖了啊

相关推荐

    ImageView ,图片处理,progressDialog

    在Android开发中,`ImageView`是用于展示图片的常用组件,它允许我们加载本地或网络上的图像,并提供了基本的图片处理功能。当我们需要对图片进行更复杂的操作,如缩放、旋转或者显示加载进度时,就需要自定义`...

    在固定大小imageView里显示图片指定区域

    在Android开发中,ImageView是用于显示图像的常见组件,但默认情况下,它的显示方式由`scaleType`属性控制,如center、centerCrop、fitXY等。然而,这些内置的缩放类型可能无法满足某些特定需求,例如仅显示图片的某...

    Android实现手势控制ImageView图片大小

    本教程将详细讲解如何实现Android手势控制ImageView图片大小的功能。 首先,我们需要创建一个自定义的ImageView子类,例如`MatrixImageView`。这个类继承自`ImageView`,并添加了对手势识别的支持。在`...

    Android下ImageView的用法

    此外,`adjustViewBounds`属性可以控制`ImageView`是否根据图片的宽高比调整自身的大小。 在Android中,`ImageView`是展示图片的核心组件,其丰富的功能和便捷的使用方式使其在应用开发中不可或缺。通过理解和掌握`...

    Android ImageView 宽度设定,高度自适应

    如果在某些情况下,我们需要进一步控制ImageView的高度,可以使用`ScaleType`属性。Android提供了多种图片缩放类型,如`center`、`centerCrop`、`centerInside`、`fitCenter`、`fitEnd`、`fitStart`和`fitXY`等。...

    android imageview 图片缩放

    ImageView可以设置为固定大小或根据图片大小自动调整。为了实现图片的缩放,通常我们需要自定义一个ImageView子类,重写onMeasure()方法,使ImageView能够根据图片内容进行自适应缩放。例如,我们可以使用CENTER_...

    Android应用源码之imageView1_imageView.zip

    - **尺寸调整**:通过`android:scaleType`属性控制图像如何适应ImageView的大小,例如`centerCrop`、`fitCenter`等。 2. **图像适配**: - **九宫格(Nine-Patch)图像**:对于需要拉伸的图像,可以使用9-patch...

    Android源码——ImageView控件缩放和旋转图片源码.zip

    在实际开发中,理解ImageView的这些内部机制有助于我们更好地控制图片的显示效果,例如,通过自定义ImageView实现特定的缩放和旋转动画,或者优化图片加载以提高应用性能。通过对源码的深入学习,开发者可以更灵活地...

    自定义ImageView

    对于方形`ImageView`,实现起来相对简单,只需要在`onDraw()`中调用`canvas.clipRect()`,设置一个与视图大小相同的矩形区域即可。 至于星形`ImageView`,情况会稍微复杂些。因为星形不是简单的几何形状,所以需要...

    ImageView.zip

    3. **android:adjustViewBounds**:当设置为`true`时,ImageView的边界会根据`android:src`的大小自动调整,以保持图像的原始比例。默认为`false`。 4. **android:cropToPadding**:当设置为`true`时,ImageView的...

    安卓ImageView UI组件类+测试代码

    2. `android:adjustViewBounds`:如果为true,ImageView将根据图像的宽高比调整其大小,以保持原始比例。 3. `android:layout_width`和`android:layout_height`:定义ImageView的尺寸,可以设置为具体像素值(dp)...

    安卓Android源码——imageView.rar

    在安卓(Android)开发中,`ImageView`是一个非常基础且重要的组件,它用于显示图片资源。这个`Android源码——imageView....通过对`ImageView`的深入学习,开发者可以更好地控制和优化图片显示,提升应用的用户体验。

    Imageview通过手势放大缩小拖拽

    例如,可以使用`BitmapFactory.Options`来控制图片的解码大小,避免加载全尺寸的图片到内存中。 - 使用`Matrix`进行变换而非直接改变图片的大小,因为直接改变大小可能会导致内存消耗增加。 7. **兼容性考虑** - ...

    android图片放大缩小 ImageView

    2. **Matrix操作**: 更精细的缩放控制可以通过修改ImageView的Matrix实现。Matrix是一个二维变换矩阵,可以进行平移、旋转、缩放等多种操作。当我们需要实现手势缩放时,通常会监听手势事件,根据手势的缩放比例更新...

    Android使用ImageView仿照ProgressBar旋转效果

    为优化,可以考虑减少帧数,或者使用矢量图形(VectorDrawable)来减小资源大小。此外,还可以通过调整`android:duration`来控制动画速度,使其看起来更流畅。 5. **处理屏幕旋转**:当应用屏幕方向发生变化时,...

    点击缩放的imageview

    为了避免内存溢出,我们可以使用BitmapFactory.Options来控制图片解码的大小,或者使用LruCache或 Glide 这样的库来缓存和管理图片。 6. **布局适配**:在实现点击缩放时,要考虑布局的整体适应性。可能需要调整...

    Android通过ImageView实现图片的显示和切换

    本文将深入探讨如何使用ImageView来显示图片,并介绍如何通过按钮控制图片的切换,实现简单的图片浏览功能。 首先,让我们了解ImageView的基本用法。在Android布局文件中,我们可以创建一个ImageView并设置其属性,...

    android ImageView demo

    除了`scaleType`,我们还可以通过其他属性来调整ImageView的行为,例如`adjustViewBounds`,如果设置为`true`,则ImageView的边界会根据`scaleType`和图像的原始尺寸自动调整,而不是固定在布局文件中定义的大小。...

    android 组件imageview应用

    1. 使用`android:adjustViewBounds="true"`,使ImageView根据图片的实际比例自动调整大小,避免浪费内存。 2. 结合使用`android:scaleType`和`android:cropToPadding="false"`,减少不必要的裁剪和绘制。 3. 使用第...

Global site tag (gtag.js) - Google Analytics