3
프로그래밍 가능한 방식으로 상단 여백을 계산할 수 있도록 웹보기의 높이를 가져와야합니다. 전화에서 잘 작동하는 AddOnPreDraw 메서드를 사용하고 있지만 타블렛에서 사용하면 null이 반환됩니다.안드로이드는 웹보기의 높이를 얻습니다.
ViewTreeObserver viewTreeObserver = topContent.getViewTreeObserver();
viewTreeObserver.addOnPreDrawListener(new OnPreDrawListener() {
@Override
public boolean onPreDraw() {
int height = topContent.getMeasuredHeight();
if (height != 0) {
Log.d("Web View Height", "Continue Height: " + height);
RelativeLayout instructions = (RelativeLayout) findViewById(R.id.info_layout);
instructions.post(mAddTabletMargin);
}
topContent.getViewTreeObserver().removeOnPreDrawListener(
this);
return false;
}
});
그래서 quesiton은 전화가 아닌 정제에서 작동합니까? 질문 2 거기에 그려진 webvie wonce의 높이를 얻는 데 사용할 수있는 다른 방법이 있습니까?
미리 감사드립니다.
완벽하게 보이지만, 유일한 방법은 넥서스 5와 삼성 갤럭시 s4와 같은 휴대폰에서 왜 작동합니까? – Paddy1990
여전히 높이가 나오지 않습니다. 웹 뷰가 넥서스 7에서만 그려지기 전에 내 onPreDraw 메소드를 실행하고 있습니다! – Paddy1990
그게 불가능합니다 당신이 UIthread에이 방법을 실행하고 있는지 확인하십시오 –