android webveiw, как получить расположение экрана html элемента - PullRequest
0 голосов
/ 08 мая 2020

пользовательский интерфейс приложения имеет веб-просмотр вместе с некоторым другим собственным представлением в макете прокрутки, внутри веб-представления есть некоторый элемент html, который стороне приложения необходимо получить его обновленное местоположение и использовать его в качестве привязки для размещения некоторого вида, плавающего над ним . webview / html похож на:

====================|===
|  TextView or      |
| other native view |
|---webview---------|            
|-------------------|
| html data top     |
|<div id="theElm" \>|
|                   |
| html data bottom  |
|-------------------|
|                   |
|                   |
====================|===

и может прокручиваться вверх, веб-просмотр частично выходит за пределы экрана:

|                   |
|  TextView or      |
| other native view |
|---webview---------| ^           
|-------------------| |
====================|===
| html data top     |
|<div id="theElm" \>|
|                   |
| html data bottom  |
|-------------------|
|                   |
|                   |
|                   |
|        ^          |
|        |          |
====================|===

, а <div id="theElm"> также может прокручиваться на экране.

используя некоторую функцию , чтобы получить его местоположение и пройти обратно через javascript мост:

function getOffset( el ) {
    var _x = 0;
    var _y = 0;
    while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) {
        _x += el.offsetLeft - el.scrollLeft;
        _y += el.offsetTop - el.scrollTop;
        el = el.offsetParent;
    }
    return { top: _y, left: _x };
}
var x = getOffset( document.getElementById('yourElId') ).left; 

но как получить положение относительно верхней части экрана / осталось?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...