android中如何动态修改ImageView中图片的大小 比如说点击该图片后图片能变大

android中如何动态修改ImageView中图片的大小 比如说点击该图片后图片能变大,第1张

使用位图(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)

扩展资料:

根据位深度,可将位图分为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组合数据位表示的的位图称为真彩色位图。

参考资料来源:百度百科-Bitmap

固定imageview的大小后用一个属性来设置ScaleType这个就是设置图片的加载模式ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。设置的方式包括:1.在layoutxml中定义android:scaleType="CENTER"2.或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER)接下来,将对ScaleType的值和对应的显示效果用最直观的方式——真图演示的方法,来进行说明。首先,是测试使用的原始图片:(Dimensions:128*128)(Dimensions:640*428)好,开始下面的测试: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。

<ImageView

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:background="@drawable/ic_launcher" />

宽度和高度使用fill_parent (填充父窗体)

fill_parent 可以使控件充满父控件,也就是你说的自动使用图片控件外的控件大小。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11307374.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存