перетащите ImageView внутрь WebView - PullRequest
2 голосов
/ 11 апреля 2011

:) Я добавляю ImageView внутри WebView следующим образом:

    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 ]

1 голос
/ 12 апреля 2011

Это сработало:

 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;
}

};

0 голосов
/ 11 апреля 2011

Используйте AbsoluteLayout.LayoutParams для установки правильной координаты X и Y или вы также можете использовать LinearLayout.LayoutParams ИЛИ RelativeLayout.LayoutParams для этой цели.

О том, как использовать:

webComp.addView(imageView, <your params object>);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...