使用位图(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。<ImageViewandroid:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/ic_launcher" />
宽度和高度使用fill_parent (填充父窗体)
fill_parent 可以使控件充满父控件,也就是你说的自动使用图片控件外的控件大小。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)