0

画像ビューをタッチ イベントでレイアウトにドラッグするアプリを開発しています。しかし問題は、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
4

1 に答える 1