android:imageview学习记录

本文记录了在Android中操作ImageView的一些关键点,包括如何正确设置图片资源,如何通过算法获取图片数组中的下一个或上一个ID,以及如何从ImageView获取Bitmap对象和进行剪切操作。重点强调了getDrawable方法的使用以及位图操作技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ImageView.getDrawable为空?

   设置完iv.setImageResource(R.drawable.l)后,也要用getResources().getDrawable(R.drawable.l),而不是iv.getDrawable()。
   你调用了getDrawable(R.drawable.l)两次,将会获得俩个不同的对象,因为这样会获取俩个新的ImageDrawable().


定义一个含有drawable的数组,如何通过算法得到下一个ID、上一个ID?

   采取取模运算。

   下一张图片ID:imageIndex = (imageIndex + 1)%images.length;

   上一张图片ID:imageIndex = (imageIndex - 1 + images.length)%images.length;


如何从imageview里面得到一个bitmap对象?

imageview.getDrawable.getBitMap


如何创建剪切的bitmap位图?

public static Bitmap createBitmap (Bitmap source, int x, int y, int width, int height, Matrix m, boolean filter)
从原始位图剪切图像,这是一种高级的方式。可以用Matrix(矩阵)来实现旋转等高级方式截图
参数说明:
  Bitmap source:要从中截图的原始位图
  int x:起始x坐标
  int y:起始y坐标
int width:要截的图的宽度
int height:要截的图的宽度
Bitmap.Config  config:一个枚举类型的配置,可以定义截到的新位图的质量


代码:

double scale = bitmap.getWidth() / 240;
int x = (int) (event.getX() * scale);
int y = (int) (event.getY() * scale);
if(x + 120 > bitmap.getWidth()){
x = bitmap.getWidth() - 120;
}else if(y + 120 > bitmap.getHeight()){
y = bitmap.getHeight() - 120;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值