Я программно добавляю вид в макет, и после того, как я добавляю, мне нужно получить высоту нового вида, когда я спрашиваю высоту нового вида, просто получаю 0. Есть ли способ узнать, когда вид закончен рисунок и он может предоставить свою высоту?
Чтобы быть более понятным, я добавляю AdVhirlLayout в мой корневой макет с помощью myMainLayout.addView(adWhirlLayout, 0, adLayoutparams);
, следующая строка adWhirlLayout.getHeight();
который возвращает 0. Я добавил OnHierarchyChangeListener
к adWhirlLayout, и я пытаюсь получить высоту adWhirlLayout, но он все еще возвращает 0. Должен быть другой слушатель, который сообщит мне, если рисование adWhirlLayout закончилось.
adWhirlLayout.setOnHierarchyChangeListener(new OnHierarchyChangeListener() {
@Override
public void onChildViewRemoved(View parent, View child) {}
@Override
public void onChildViewAdded(View parent, View child) {
adWhirlLayout.getHeight();
}
});