[英]Android SeekBar image resizing doesn't work
I have used SeekBar
in my android project to resize image but it doesn't work as my expectation I mean it is hiding the image instead of resizing. 我已经在我的android项目中使用
SeekBar
来调整图像的大小,但是它不起作用,因为我的期望是隐藏图像而不是调整大小。 Here is my code below: 这是我的代码如下:
seekbarSize.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progresValue, boolean fromUser) {
tmp = (ImageView) findViewById(lastIdImage);
tmp.requestLayout();
tmp.getLayoutParams().height = ((500 * progresValue) / 100) + 30;
tmp.getLayoutParams().width = ((500 * progresValue) / 100) + 30;
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
Can anybody help me what I have done wrong inside the code. 谁能帮我在代码内做错的事情。
private static final int WIDTH_SCALE_RATIO = 10;
private static final int HEIGHT_SCALE_RATIO = 10;
private int previousProcess = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ImageView imgg = (ImageView) findViewById(R.id.imageView1);
((SeekBar) findViewById(R.id.seekBar1))
.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar arg0) {
}
@Override
public void onStartTrackingTouch(SeekBar arg0) {
}
@Override
public void onProgressChanged(SeekBar seekBar,
int progresValue, boolean fromUser) {
int diff = progresValue - previousProcess;
scaleImage(imgg, diff);
previousProcess = progresValue;
}
});
}
public void scaleImage(ImageView img, int scale) {
Bitmap bitmap = ((BitmapDrawable) img.getDrawable()).getBitmap();
float width = bitmap.getWidth();
float height = bitmap.getHeight();
width += scale * WIDTH_SCALE_RATIO;
height += scale * HEIGHT_SCALE_RATIO;
bitmap = Bitmap.createScaledBitmap(bitmap, (int) width, (int) height,
true);
img.setImageBitmap(bitmap);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.