Pergunta

After screen rotating, the height of one of view object is changed, I want to know the height value in pixel.

The onConfigurationChanged method is likely called before view finishing rotation. So if I measure the view size in this method , the size is still the value of rotation before.

The problem is how can I get the view size value after rotation finish Without reconstructing Activity.

Foi útil?

Solução

One possible solution:

private int viewHeight = 0;
View view = findViewByID(R.id.idOfTheView);
view.getViewTreeObserver().addOnGlobalLayoutListener( 
    new OnGlobalLayoutListener(){
        @Override
        public void onGlobalLayout() {
            viewHeight = view.getHeight();
        }

OR

@Override
public void onResume(){
  int viewHeight = 0;
  View view = findViewByID(R.id.idOfTheView);
  viewHeight  = view.getHeight();
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top