Android layoutParams getWidth () getHeight () - PullRequest
       0

Android layoutParams getWidth () getHeight ()

2 голосов
/ 08 октября 2011

Эти методы возвращают правильные значения при динамическом извлечении, например, для.в onCreate (), но единственное исключение - когда измерение указывается в файле макета xml как неопределенное, например, «обтекание содержимым» и т. д. Есть ли способ получить такие значения тоже?

1 Ответ

7 голосов
/ 08 октября 2011

Это должно вернуть правильную ширину и высоту. onCreate вызывается до того, как макет дочерних представлений сделан. Так что ширина и высота еще не рассчитаны. Чтобы получить высоту и ширину. Поместите это в метод onCreate

LinearLayout layout = (LinearLayout)findViewById(R.id.YOUD VIEW ID);
ViewTreeObserver vto = layout.getViewTreeObserver(); 
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 
    @Override 
    public void onGlobalLayout() { 
        hs.getViewTreeObserver().removeGlobalOnLayoutListener(this); 
        int width  = layout.getMeasuredWidth();
        int height = layout.getMeasuredHeight(); 

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