`
ch_kexin
  • 浏览: 899017 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)

 
阅读更多

ImageView的属性android:scaleType,ImageView.setScaleType(ImageView.ScaleType)

 imageView.setScaleType(ImageView.ScaleType.FIT_XY );

 

这里我们重点理解ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.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 用矩阵来绘制

 一开始我不明白MATRIX矩阵,网上搜索后发现原来MATRIX矩阵可以动态缩小放大图片来显示,这里不展开深入的了解,只是贴出相关语句,缩小图片:

//获得Bitmap的高和宽 
int bmpWidth=bmp.getWidth(); 
int bmpHeight=bmp.getHeight(); 
 
//设置缩小比例 
double scale=0.8; 
//计算出这次要缩小的比例 
scaleWidth=(float)(scaleWidth*scale); 
scaleHeight=(float)(scaleHeight*scale); 
 
//产生resize后的Bitmap对象 
Matrix matrix=new Matrix(); 
matrix.postScale(scaleWidth, scaleHeight); 
Bitmap resizeBmp=Bitmap.createBitmap(bmp, 0, 0, bmpWidth, bmpHeight, matrix, true);

 

<ImageView 
android:id="@+id/image" 
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent" 
    android:scaleType="center" 
    android:src="@drawable/candle" 
/>

 

分享到:
评论

相关推荐

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

    ImageView的属性android:scaleType,即 ImageView.setScaleType(ImageView.ScaleType)。android:scaleType是控制图片如何 resized/moved来匹对ImageView的size。ImageView.ScaleType / android:scaleType值的意义...

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

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

    Android代码-Android图片浏览全屏缩放.zip

    1. **ImageView组件**:Android中的ImageView是最基础的图片展示组件,它可以加载本地资源、网络资源或者通过Bitmap对象显示图片。在全屏显示图片时,通常会设置ImageView的宽高为屏幕的宽高,使用`match_parent`...

    Android应用开发-ImageView控件.pptx

    在Java代码中,可以使用`imageView.setScaleType(ImageView.ScaleType.CENTER);`这样的方式动态设置ImageView的缩放类型。 总的来说,理解并熟练运用ImageView的这些属性和功能对于一个Android开发者来说至关重要,...

    ImageView.zip

    imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); ``` 在实际应用中,你可能还需要处理图片加载优化问题,比如使用内存缓存、异步加载等策略,以防止内存溢出和提高用户体验。对于更复杂的图片操作,可以...

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

    在代码中,我们可以使用imageView.setScaleType(ImageView.ScaleType.CENTER_CROP)来设置ScaleType。在XML布局文件中,我们可以使用android:scaleType="centerCrop"来设置ScaleType。 ScaleType是Android中...

    ImageView 宽度设定,高度按比例缩放

    imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); // 或者使用CENTER_CROP imageView.requestLayout(); // 强制更新布局 ``` 在处理网络图片时,可以使用Glide或Picasso这样的库加载图片。它们提供了自动...

    20177720349田帝豪实验三.doc

    - `imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);` 会让图片居中并缩放以适应ImageView的大小,保持纵横比。 - `imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);` 会填充整个ImageView,...

    android 动态旋转图片 Bitmap与Matrix旋转ImageView

    4. 设置ImageView的scaleType为matrix,`imageView.setScaleType(ImageView.ScaleType.MATRIX);` 5. 应用Matrix到ImageView,`imageView.setImageMatrix(matrix);` 需要注意的是,由于旋转可能会导致Bitmap的尺寸...

    DragView:这是个可拖动的悬浮按钮

    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setImageResource(R.mipmap.ic_launcher_round); imageView.setOnClickListener(v -&gt; Toast.makeText(MainActivity.this, "点击了...", Toast....

    Imageview之图片填充模式fitcenter的实现

    imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); ``` 总之,`fitCenter`是Android中一种重要的图片填充模式,它能确保图片居中显示且不失真。通过研究和实践,开发者不仅可以掌握`fitCenter`,也能更好地...

    Imageview之图片填充模式Centercrop模式实现

    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); ``` 以上就是关于ImageView的"CenterCrop"模式的详细解释及实现方式。这种模式在很多场合都很实用,比如作为背景图片、头像等,可以确保图像不失真的...

    Android ImageView ScaleTypeDemo

    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); ``` `ImageViewDemo`是一个完整的DEMO,展示了上述各种`ScaleType`的效果。通过运行此DEMO,开发者可以直观地理解每种模式在实际应用中的表现,选择最...

    Android开发之imageView图片按比例缩放的实现方法

    imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); ``` 需要注意的是,`ImageView`中的图片应通过`android:src`属性指定,而不是`android:background`。`android:src`用于设置前景图像,而`android:...

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

    overlayImageView.setScaleType(ImageView.ScaleType.CENTER_CROP); ``` 然而,这可能会导致图片超出ImageView的边界,所以我们还需要确保图片的尺寸不会超过ImageView。一种方法是动态计算缩放比例,使得图片的宽...

    android 循环gallery 选中放大 按键控制

    imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); } else { imageView = (ImageView) convertView; } // 加载图片 imageView.setImageResource(getImageResId(imageList.get(position))); // ...

    A0215ImageView的使用1

    3. **图片缩放类型**:`android:scaleType`属性及对应的`setScaleType(ImageView.ScaleType)`方法是决定图片如何在ImageView中缩放或移动的关键。常用的缩放类型有: - `CENTER`:图片居中显示,超出部分会被裁剪。...

    Android可拖动缩放的ImageView DEMO

    setScaleType(ScaleType.MATRIX); scaleGestureDetector = new ScaleGestureDetector(context, new ScaleGestureDetector.SimpleOnScaleGestureListener() { @Override public boolean onScale...

    android手机应用源码ImageView控件缩放和旋转图片源码.rar

    - ScaleType:ImageView还提供了一个ScaleType属性,它包含了多种预设的缩放方式,如CENTER、CENTER_CROP、FIT_CENTER等。可以通过设置setScaleType()来选择适合的缩放方式。 2. 图片旋转: - 使用Matrix旋转:...

    ImageView使用效果.rar

    - ScaleType:ImageView提供了多种缩放模式,如CENTER、CENTER_CROP、CENTER_INSIDE等,通过`setScaleType(ImageView.ScaleType type)`来设置。 3. 九宫格拉伸: - 使用`android:src`属性设置九宫格图片,使图片...

Global site tag (gtag.js) - Google Analytics