0

(画面の高さ - レイアウトの高さ) / list.size に応じて行の高さを動的に調整しようとしています。

残念ながら、onCreate メソッドでは、レイアウトの高さが null を返します (オンクリック リスナーで呼び出した場合はそうではありません)。

それを呼び出すことができる別の方法はありますか?実行時に高さと幅が必要です。

助けて....

前もって感謝します

4

1 に答える 1

1

onCreate ビューでは配置されていないため、常に null を返します。GlobalLayoutListener を設定する必要があります。次に、リスナーの onGlobalLayout メソッドで、ビュー/レイアウトの実際の寸法を取得できます。

ViewTreeObserver observer = view.getViewTreeObserver();
observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        //in here, place the code that requires you to know the dimensions.


         //this will be called as the layout is finished, prior to displaying.
    }
}
于 2012-07-26T08:34:52.620 に答える