2016-08-15 33 views
0

我已經在我的android項目中使用SeekBar來調整圖像大小,但它不起作用,因爲我的期望我的意思是它隱藏圖像而不是調整大小。這裏是我的代碼如下:Android SeekBar圖像大小調整不起作用

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) { 
    } 
}); 

任何人都可以幫助我,我做了錯誤的代碼裏面。

回答

1
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); 
} 
+0

它可以幫助你:) –

+0

你能解釋一些關於你在做什麼嗎? – AMAN77

+0

@DharaChandarana scaleImage方法縮放我的整個佈局,而不是圖像視圖。 –