我想根据搜索栏的运动放大和缩小图像!!任何人都可以帮我做到这一点,请您及时回复,我们将不胜感激!!!
问问题
2596 次
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
并使用此检查来缩放位图BitmapFactory
。
http://developer.android.com/training/displaying-bitmaps/load-bitmap.html
希望能帮助到你。
于 2013-06-14T11:57:38.247 回答