samsung s2では正常に動作し、samsung s3デバイスレイアウトの高さが減少するように、テキストビューを線形レイアウトに追加しています.レイアウトの高さを見つけていますが、取得していません
2 に答える
0
レイアウトからビュー ツリー オブザーバーを取得し、それにリスナーをアタッチするだけです。その内部で、高さまたは幅を取得できます。あとは、グローバル レイアウト リスナーのアタッチを解除するだけです。android sdk > 16 の場合は mContainer.getViewTreeObserver().removeOnGlobalLayoutListener(this); を使用する必要があることに注意してください。
private ViewGroup mContainer;
@Override
public void onResume() {
super.onResume();
final ViewTreeObserver observer = mContainer.getViewTreeObserver();
observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int layoutHeight = mContainer.getHeight();
rowHeight = layoutHeight / getResources().getInteger(R.integer.rows);
mContainer.getViewTreeObserver().removeGlobalOnLayoutListener(this);
if (Build.VERSION.SDK_INT >= 16) {
mContainer.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});
}
}
于 2013-09-24T07:01:56.923 に答える