在WebView中拖动ImageView

时间:2011-04-11 11:56:10

标签: android

:) 我正在WebView中添加一个ImageView,如下所示:

    void addImv(int in)
{
     imageView.setId(imageID);
     webComp.addView(imageView);

     Bitmap bitmap;
     File sd = Environment.getExternalStorageDirectory();
     if(sd.canRead()){
         bitmap = BitmapFactory.decodeFile(sd.getAbsolutePath() + "/FMS/1/file"+in+".jpg");
         imageView.setImageBitmap(bitmap);
         imageView.setAdjustViewBounds(true);
         imageView.setMaxHeight(150);
         imageView.setAlpha(150);           

         imageView.bringToFront();          
     }
}

照片正确显示在屏幕左上方。 现在我在imageView

上有这个用于触摸的监听器
    OnTouchListener listenTouch = new OnTouchListener()
{
    @Override
    public boolean onTouch(View v, MotionEvent event)
    {   
        return true;
    }

};

也有效。我如何设置imageView的位置?我已经尝试过使用imageView.setPadding和imageView.imageView.setLayoutParams,但显然我正在做一些非常错误的事情,因为它强制关闭。 imageView未在xml布局文件中定义。谢谢!

2 个答案:

答案 0 :(得分:1)

这有效:

 OnTouchListener listenTouch = new OnTouchListener()

{

public boolean onTouch(View v, MotionEvent event)
{   
    imageView.offsetLeftAndRight((int)event.getX()-imageView.getWidth());
    imageView.offsetTopAndBottom((int)event.getY()-imageView.getHeight());
    webComp.invalidate();
    return true;
}

};

答案 1 :(得分:0)

使用AbsoluteLayout.LayoutParams设置正确的X和Y坐标,或者您也可以使用LinearLayout.LayoutParamsRelativeLayout.LayoutParams来实现此目的。

关于如何使用:

webComp.addView(imageView, <your params object>);