4

我想根据搜索栏的运动放大和缩小图像!!任何人都可以帮我做到这一点,请您及时回复,我们将不胜感激!!!

4

2 回答 2

4

onProgressChanged() 方法做我想要的魔法!!

公共类 MainActivity 扩展 Activity 实现 OnSeekBarChangeListener {

private SeekBar mSeekBar;
Bitmap bm;
ImageView image;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mSeekBar = (SeekBar) findViewById(R.id.seekBar);
    mSeekBar.setOnSeekBarChangeListener((OnSeekBarChangeListener) this);
   image=(ImageView)findViewById(R.id.image);
   bm=BitmapFactory.decodeResource(getResources(), R.drawable.sachin);
}

@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {

     Bitmap resizedbitmap=Bitmap.createScaledBitmap(bm,10, 10, true);

      if(progress>0&&progress<=25)
      {
           resizedbitmap=Bitmap.createScaledBitmap(bm,70, 70, true);
      }
      if(progress>26&&progress<=50)
      {
           resizedbitmap=Bitmap.createScaledBitmap(bm,120, 120, true);
      }
      if(progress>51&&progress<=75)
      {
           resizedbitmap=Bitmap.createScaledBitmap(bm,180, 180, true);
      }
      if(progress>76&&progress<=100)
      {
          resizedbitmap=Bitmap.createScaledBitmap(bm,220, 220, true);
      }

      image.setImageBitmap(resizedbitmap);

}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {

}
@Override
public void onStopTrackingTouch(SeekBar seekBar)

{
    mSeekBar.setSecondaryProgress(seekBar.getProgress());

}
@Override
public boolean onCreateOptionsMenu(Menu menu) {

    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

}

于 2013-06-14T12:55:43.810 回答
1

我不太明白这是否是您想要的,但这里有一些链接可以帮助您。

这是为了了解如何seekbars工作。你需要设置一个监听器。 http://rajeshvijayakumar.blogspot.pt/2013/01/seek-bar-example-in-android.html

之后,您需要获取 的值seekbar并使用此检查来缩放位图BitmapFactoryhttp://developer.android.com/training/displaying-bitmaps/load-bitmap.html

希望能帮助到你。

于 2013-06-14T11:57:38.247 回答