A. android中imageview里的图片大小是否可以比imageview本身大,如果可以,如何设置
ImageView可以放大缩小,也可以通过Scaletype这个属性来指定。
Scaletype的设置的方式包括:
1. 在layout xml中定义android:scaleType="CENTER"
2. 或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);
Scaletype的取值和区别:
1. SetScaleType(ImageView.ScaleType.CENTER);
按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示
2. SetScaleType(ImageView.ScaleType.CENTER_CROP);
按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
3. setScaleType(ImageView.ScaleType.CENTER_INSIDE);
将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽
4. setScaleType(ImageView.ScaleType.FIT_CENTER);
把图片按比例扩大/缩小到View的宽度,居中显示
5. FIT_START, FIT_END在图片缩放效果上与FIT_CENTER一样,只是显示的位置不同,FIT_START是置于顶部,FIT_CENTER居中,FIT_END置于底部。
在此就不给出示例了。
6. FIT_XY
不按比例缩放图片,目标是把图片塞满整个View。
B. 您好,android里如何把图片放大超过屏幕大小和拖动呢就像相册里一样。我试过很多办法都不行。
是要编写一个这样的功能么,android提供的API里面一般图片都是Bitmap,可以通过Canvas.drawBItMap的方法在View进行图片的绘制,在方法中需要进行传入一个类型为Matrix的参数,设置Martrix的一些参数就可以进行图片的放大的绘制,这只是显示,也就是MVC中的View层,然后通过提供的一些触摸函数的重写并实现自己需要的一些功能,如拖动,实际上就是改变BitMap绘制的位置。关于触摸的处理和图片的绘制可以在网上进行一些教程的搜索,我就不罗列了,最终就是需要通过控制函数来改变图片的绘制方式,这也许就是你所需要的功能。
C. android ImageView控件,图片如何铺满整个控件
android imageView有一个属性就是scaleType扩大类型,使用fitXy值就可以实现铺满整个空间,操作如下:在ImageView里加上android:scaleType="fitXy"。x0dx0a 默认还有其他很多类型:scaleType=“matrix” 是保持原图大小、从左上角的点开始,以矩阵形式绘图。x0dx0ax0dx0ascaleType=“fitXY” 是将原图进行横方向(即XY方向)的拉伸后绘制的。x0dx0ax0dx0ascaleType=“fitStart” 是将原图沿左上角的点(即matrix方式绘图开始的点),按比例缩放原图绘制而成的。
D. android中如何动态修改ImageView中图片的大小 比如说点击该图片后图片能变大
使用位图(Bitmap)再重新绘制遍
//原位图
Bitmap btm1 = BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.hh);
BitmapDrawable bd1=BitmapDrawable(btm1);
imageView.setBackgroundDrawable(bd1);
放大后 滑动时计算 图片的边是否在屏幕外,如果在屏幕外就可移动,比如 向上滑动,是想看图片下面的部分,此时计算图片的底边是否在屏幕外,如果是,就可以向上移动图片。
Scaletype的设置的方式包括:
1、在layout xml中定义android:scaleType="CENTER"
2、或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);
(4)android实现图片放大扩展阅读:
根据位深度,可将位图分为1、4、8、16、24及32位图像等。每个像素使用的信息位数越多,可用的颜色就越多,颜色表现就越逼真,相应的数据量越大。
例如,位深度为 1 的像素位图只有两个可能的值(黑色和白色),所以又称为二值位图。位深度为 8 的图像有 2^8(即 256)个可能的值。位深度为 8 的灰度模式图像有 256 个可能的灰色值。
RGB图像由三个颜色通道组成。8 位/通道的 RGB 图像中的每个通道有 256 个可能的值,这意味着该图像有 1600 万个以上可能的颜色值。
有时将带有 8 位/通道 (bpc) 的 RGB 图像称作 24 位图像(8 位 x 3 通道 = 24 位数据/像素)。通常将使用24位RGB组合数据位表示的的位图称为真彩色位图。
E. android. imageview是如何控制它的宽高比例,不让各种规则图片影响它大小。如图。图片
ImageView的ScaleType属性决定了图片在View上显示时的样子,包括进行何种比例的缩放,及显示图片的整体还是部分等。可以通过两种方式设置:在layout xml中定义或在代码中调用。
ScaleType有以下几种设置方式:
1. 使用CENTER模式:按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示。
2. 使用CENTER_CROP模式:按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)。
3. 使用CENTER_INSIDE模式:将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽。
4. 使用FIT_CENTER模式:把图片按比例扩大/缩小到View的宽度,居中显示。
5. 使用FIT_START、FIT_END和FIT_CENTER模式:这些模式在图片缩放效果上与FIT_CENTER一样,只是显示的位置不同,FIT_START是置于顶部,FIT_CENTER居中,FIT_END置于底部。具体使用哪种模式取决于实际需求。
6. 使用FIT_XY模式:不按比例缩放图片,目标是把图片塞满整个View。
通过这些设置,可以灵活控制图片在ImageView中的显示效果,避免各种规则图片对ImageView大小的影响。