Мое решение состоит в том, чтобы добавить невидимый крошечный тупой вид в конце макета / фрагмента (или добавить его в качестве фона), поэтому любое изменение размера макета вызовет событие изменения макета для этого представления, которое можетбыть захваченным OnLayoutChangeListener:
Пример добавления тупого представления в конец макета:
<View
android:id="@+id/theDumbViewId"
android:layout_width="1dp"
android:layout_height="1dp"
/>
Прослушивание события:
View dumbView = mainView.findViewById(R.id.theDumbViewId);
dumbView.addOnLayoutChangeListener(new OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
// Your code about size changed
}
});