【发布时间】:2016-08-01 07:24:26
【问题描述】:
我想使用SeekBar 控制ImageView 的水平裁剪,如下图所示:
这是我的progressChanged 事件代码:
cropSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
float tuning = (float) progress/seekBar.getMax();
if (tuning == 0) {
return;
}
int width = (int)(tuning * originalPhotoBitmap.getWidth());
int height = originalPhotoBitmap.getHeight();
modifiedPhotoBitmap = Bitmap.createBitmap(originalPhotoBitmap, 0, 0, width, height);
imageView.setImageBitmap(modifiedPhotoBitmap);
}
});
新宽度计算正确(我检查了 logcat 中的值),但是当我使用 setImageBitmap 设置 imageView 的位图时,ScaleType FIT_CENTER 似乎不再工作了......
我的代码实际上是这样的:
进度值:100
进度值:50
进度值:25
如您所见,这不是我们想要的行为......
我的问题有两个:
- 我应该在 ImageView 中使用什么比例类型?
- 我的新位图定义正确吗?
【问题讨论】:
标签: android android-imageview android-bitmap