Получить позицию пользовательского представления до его рисования в Windowmanager? - PullRequest
0 голосов
/ 06 августа 2020

У меня есть customView, и я добавляю его в windowManager вот так

windowManager.add(customView, layoutParams);

После этого я пытаюсь получить местоположение

int[] location = new int[2];
customView.getLocationOnScreen(location);
int x = location[0];
int y = location[1];

Но x и y равны 0. Поскольку вид не отображается на экране, поэтому я не могу получить координаты, я не хочу использовать этот метод

customView.getViewTreeObserver().addOnGlobalLayoutListener( 
    new OnGlobalLayoutListener(){

        @Override
        public void onGlobalLayout() {
            mHeight = customView.getHeight();  

            customView.getViewTreeObserver().removeOnGlobalLayoutListener( this );
            customView.setVisibility( View.GONE );
        }

});

Есть ли альтернатива для получения положения до его рисования.

...