Доступ к myView.getWidth()
и getHeight()
всегда возвращает ноль, и я понимаю, что это потому, что я вызываю их слишком рано, до того, как представления были изложены.
Но как я могу получить доступ к размеру просмотров из действия? Я не вижу метода для переопределения, и в документах не предлагается событие lifecycle
, которое я могу поймать.
===================================
Спасибо, Таннер. Вот код, который я использовал, который отлично работает.
LinearLayout root = (LinearLayout)findViewById(R.id.main);
Display d = ((WindowManager) this.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int screenWidth = d.getWidth();
int screenHeight = d.getHeight();
root.measure(screenWidth, screenHeight);
View myView = findViewById(R.id.myView);
int width = myView.getMeasuredWidth();