`
endual
  • 浏览: 3558426 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Android ImageView 总结

 
阅读更多

Android ImageView 总结【转载】  i  订阅

一.介绍
ImageView用来显示任意图像图片,可以自己定义显示尺寸,显示颜色等等.
二.XML属性
android:adjustViewBounds 是否保持宽高比。需要与maxWidth、MaxHeight一起使用,单独使用没有效果。
android:cropToPadding 是否截取指定区域用空白代替。单独设置无效果,需要与scrollY一起使用 
android:maxHeight 定义View的最大高度,需要与AdjustViewBounds一起使用,单独使用没有效果。如果想设置图片固定大小,又想保持图片宽高比,需要如下设置:
1) 设置AdjustViewBounds为true;
2) 设置maxWidth、MaxHeight;
3) 设置设置layout_width和layout_height为wrap_content。
android:maxWidth 设置View的最大宽度。
android:scaleType 设置图片的填充方式。
android:src 设置View的图片或颜色
android:tint 将图片渲染成指定的颜色。

---------------------------------------------------------------------------------------------
使用Martix(android.graphics.Matrix)类中的postScale()方法结合Bitmap来实现缩放图片的功能
Bitmap bmp = BitmapFactory.decodeResource(getResource(),R.drawalbe.icon1)
int bmpwidth = bmp.getWidth();
int bmpheight = bmp.getHeight();
Matrix matrix = new Matrix();
matrix.postScale(width,height);
Bitmap bm = Bitmap.createBitmap(bmp,0,0,bmpwidth,bmpheight ,matrix,true);
imageView.setImageBitmap(bm);

在Android中不允许ImageView在产生后,动态修改其长度和宽度,
所以要实现图片发大缩小的功能,必须将原来的ImageView移除,
重新产生一个新的ImageView,并且指定图片来源给它,再放入Layout中

--------------------------------------------------------------------------------------------------

1、public voidsetVisibility (int visibility)

visibility

One of VISIBLEINVISIBLE, or GONE

 

但是在调用此方法的时候

image.setVisibility(visibility)

其中visibility是int型的参数。对应上面:VISIBLE=0x00000000;INVISIBLE=0x00000004;GONE=0x00000008。

即:

image.setVisibility(0x00000000)   /  image.setVisibility(View.VISIBLE); 表示显示;

image.setVisibility(0x00000004)  /  image.setVisibility(View.INVISIBLE);表示隐藏;

image.setVisibility(0x00000008)  /  image.setVisibility(View.GONE);表示view不存在。

 

 

2、设置颜色的不同方法

color.rgb(255,255,255);

color.RED;

color.parseColor(colorString); 其中colorString可以是:#RRGGBB #AARRGGBB 'red', 'blue', 'green', 'black', 'white', 'gray', 'cyan', 'magenta', 'yellow', 'lightgray', 'darkgray' 等

3、设置图片指定大小

protected Bitmap scaleImg(Bitmap bm, int newWidth, int newHeight) {
    // 图片源
    // Bitmap bm = BitmapFactory.decodeStream(getResources()
    // .openRawResource(id));
    // 获得图片的宽高
    int width = bm.getWidth();
    int height = bm.getHeight();
    // 设置想要的大小
    int newWidth1 = newWidth;
    int newHeight1 = newHeight;
    // 计算缩放比例
    float scaleWidth = ((float) newWidth1) / width;
    float scaleHeight = ((float) newHeight1) / height;
    // 取得想要缩放的matrix参数
    Matrix matrix = new Matrix();
    matrix.postScale(scaleWidth, scaleHeight);
    // 得到新的图片
    Bitmap newbm = Bitmap.createBitmap(bm, 0, 0, width, height, matrix,
      true);
    return newbm;

   }

调用:

获得18×18的图片

Bitmap bm = BitmapFactory.decodeStream(getResources().openRawResource(R.drawable.icon));

Bitmap newBm = scaleImg(bmImg , 18, 18);

imageView.setImageBitmap(newBm);

 

 

android:scaleType:

  android:scaleType是控制图片如何resized/moved来匹对ImageView的size。ImageView.ScaleType / android:scaleType值的意义区别:

  CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示

  CENTER_CROP / centerCrop 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)

  CENTER_INSIDE / centerInside 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽

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

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

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

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

  MATRIX / matrix 用矩阵来绘制,动态缩小放大图片来显示。

分享到:
评论
1 楼 endual 2012-08-01  
ndroid:scaleType:
  android:scaleType是控制图片如何resized/moved来匹对ImageView的size。ImageView.ScaleType / android:scaleType值的意义区别:
  CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
  CENTER_CROP / centerCrop 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
  CENTER_INSIDE / centerInside 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
  FIT_CENTER / fitCenter 把图片按比例扩大/缩小到View的宽度,居中显示
  FIT_END / fitEnd 把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置
  FIT_START / fitStart 把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置
  FIT_XY / fitXY 把图片 不按比例 扩大/缩小到View的大小显示
  MATRIX / matrix 用矩阵来绘制,动态缩小放大图片来显示。

相关推荐

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

    总结一下,Android中实现ImageView宽度固定、高度自适应的方法主要包括:设置`layout_width`为需要的宽度,`layout_height`为`wrap_content`,开启`adjustViewBounds`,并选择合适的`scaleType`。在实际应用中,结合...

    Android ImageView手势缩放 图片详情页

    总结起来,实现"Android ImageView手势缩放 图片详情页"的功能,需要结合GestureDetector、ScaleGestureDetector以及自定义的ZoomImageView,同时处理好图片的加载、缓存和边界条件,以及优化手势操作的性能。...

    android 自定义属性实现 ImageView 透明度渐变效果

    总结,通过自定义属性,我们可以让应用程序更加灵活和个性化。在本例中,我们创建了一个自定义属性`alphaAnimationDuration`,并将其应用于ImageView,实现了一个透明度渐变的效果。这不仅提高了用户体验,也为...

    Android ImageView动态更新图片自定义监听

    总结来说,动态更新`ImageView`的图片并使用自定义监听器,是Android开发中处理网络图片的一个常见实践。通过监听器,我们可以更好地控制用户体验,提供实时反馈,同时也能处理可能出现的异常情况。对于初学者而言,...

    Android中使用自定义ImageView实现图片圆形遮罩效果

    本篇文章将详细讲解如何在Android中通过自定义一个ImageView来实现图片的圆形遮罩效果。这个功能对于创建用户界面,如头像显示或者一些需要突出圆形元素的设计时非常有用。 首先,我们需要创建一个新的Java类,继承...

    Android TransitionDrawable ImageView 过渡效果实例

    总结一下,TransitionDrawable是Android中的一个强大工具,能够轻松实现不同Drawable之间的平滑过渡效果,给应用的视觉表现增加动态元素。通过灵活运用,开发者可以创造出更加丰富多样的用户界面交互体验。

    Android不同形状的ImageView

    总结,通过使用Shape Drawable、自定义View以及第三方库,如`RoundImageView`,开发者可以在Android应用中实现各种形状的ImageView,以增强界面的美观性和多样性。在实际项目中,应根据需求选择最适合的方法,并注意...

    (android控件) ImageView 控件开发效果总结(滤镜效果)

    在Android应用开发中,ImageView控件是用于展示图像的核心组件,它可以显示图片资源、网络图片或者本地文件。本文将深入探讨如何在ImageView中实现各种滤镜效果,为用户提供丰富的视觉体验。我们将基于提供的资料...

    android安卓通过url获取网络图片并显示在imageview中

    总结,通过URL获取网络图片并在Android应用中显示,主要涉及以下几个知识点: 1. 添加第三方库Glide及其依赖。 2. 配置AndroidManifest.xml以允许网络访问。 3. 使用Glide的API加载图片到ImageView。 4. 可选地,...

    Android ImageView+Button 使用方法

    总结,Android的ImageView和Button是构建用户界面不可或缺的组件。理解并熟练运用它们,不仅可以创建基本的交互功能,还能实现丰富的视觉效果,提升用户体验。通过实际操作和不断实践,初学者可以快速提升Android...

    android 自定义imageview(手势放大,缩小,旋转)

    总结,通过以上步骤,我们可以创建一个支持手势操作的自定义ImageView,实现图片的自由放大、缩小和旋转。在实际项目中,这样的自定义控件可以带来更加丰富的用户交互,提升应用的可玩性和实用性。在理解了手势检测...

    Android圆形ImageView

    在Android开发中,`...总结起来,`Android圆形ImageView`是通过自定义视图和重绘机制实现的,它可以提供更好的视觉效果,适应多样化的界面设计。这种技术在很多社交应用、个人信息页面等场景中都有广泛的应用。

    android 组件imageview应用

    总结来说,Android的ImageView组件是显示图像的核心工具,理解其使用和优化策略对于开发高效、流畅的App至关重要。在小程序的场景下,我们也可以借鉴这些知识,确保在小型化应用中同样提供良好的用户体验。

    10-android ImageView 图片视图

    总结,Android中的ImageView是展示图片的核心组件,通过合理的使用和优化,我们可以创建高效、美观的用户界面。深入理解ImageView的工作原理,结合第三方库和自定义组件,可以在实际项目中实现更多丰富的功能。

    ImageView里面的图片从无到有的渐变过程

    总结,通过使用Android的视图动画系统,尤其是补间动画,我们可以轻松地实现ImageView中图片从无到有渐变的过程,提升应用的交互体验。通过调整动画参数,如持续时间、透明度变化,可以定制符合应用风格的动画效果。...

    android ImageView

    总结,`ImageView`在Android应用中扮演着关键角色,它提供了丰富的功能,包括显示静态和动态图像,调整图像显示,以及实现动画效果。开发者可以根据实际需求,灵活运用`ImageView`的各种特性和方法,创建出富有表现...

    Android ImageView实现图片裁剪和显示功能

    总结起来,Android应用中实现图片裁剪和显示功能涉及以下几个关键步骤: 1. 在布局文件中设置ImageView和按钮。 2. 初始化UI元素,设置监听事件。 3. 使用Intent启动相册选择图片。 4. 处理选择图片的结果,显示在...

    Android ImageView Src 和Background 区别

    总结来说,Android的ImageView的src和background属性分别服务于不同的目的,理解它们的区别有助于实现更精确的图像展示效果。在实际开发中,应根据需求合理选择使用src或background,并结合`scaleType`属性来优化...

    Android-一个Kotlin实现的简单小巧支持圆形和圆角定制化的ImageView

    总结起来,"Android-一个Kotlin实现的简单小巧支持圆形和圆角定制化的ImageView"是一个旨在简化Android图片视图定制的工具,它利用Kotlin的高效特性,提供了便捷的API来创建圆形或圆角图片。这个组件对于提升应用...

    Android ImageView 固定宽高比例的实现方法

    在Android开发中,ImageView是用于显示图像的常见组件。在设计界面时,有时我们需要让ImageView保持固定的宽高比,以确保图像的展示效果符合预期。本文将详细介绍两种实现Android ImageView固定宽高比例的方法。 ...

Global site tag (gtag.js) - Google Analytics