画像ビューをタッチ イベントでレイアウトにドラッグするアプリを開発しています。しかし問題は、Facebook からビットマップ画像を取得しているのに、それをドラッグすると小さい画像に自動的にスケーリングされることです。
ImageView img = (ImageView)findViewById(R.id.edit_text_image);
Bitmap bm=getFacebookImage();
img.setImageBitmap(bm);
img.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
//Toast.makeText(MoveImage.this,"hiii", Toast.LENGTH_SHORT).show();
switch(event.getAction())
{
// case MotionEvent.ACTION_DOWN:
//
// break;
case MotionEvent.ACTION_MOVE:
//Toast.makeText(MoveImage.this,"moved", Toast.LENGTH_SHORT).show();
ImageView img=(ImageView)findViewById(v.getId());
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(img.getLayoutParams());
//
int x_cord = (int)event.getRawX();
int y_cord = (int)event.getRawY();
if(x_cord>windowwidth){x_cord=windowwidth;}
if(y_cord>windowheight){y_cord=windowheight;}
params.leftMargin = x_cord - 25; //(int)event.getX();//
params.topMargin = y_cord - 75; // (int)event.getY();//
img.setLayoutParams(params);
break;
}
return true;
}
});
リソースから画像を取得すると、正常に機能します。
ImageView img = (ImageView)findViewById(R.id.edit_text_image);
img.setBackgroundResource(R.drawable.ic_launcher);
// same touch event here