0

onMeasure() が測定を行うものであり、メジャーを呼び出す必要さえない場合、いつ Measure() メソッドを使用する必要があるのか​​ わかりません。

ありがとう。

4

2 に答える 2

1

Measure は実際に onMeasure を呼び出します。

ビューの実際の測定作業は、このメソッドによって呼び出される onMeasure(int, int) で実行されます。したがって、サブクラスによってオーバーライドできるのは onMeasure(int, int) のみであり、オーバーライドする必要があります。

バックグラウンドで、Measure は基本的に現在の値をキャッシュするため、onMeasure は要素のサイズが変更されたときにのみ呼び出されます。このように、レイアウトが変更されたかどうかを判断するために onMeasure にロジックを実装する必要はありません。

于 2013-10-23T23:43:28.687 に答える
0

私が使用した 1 つの例は、実際に描画される前に何かのサイズを知りたい場合です。を呼び出す前にMeasure()、システムは何かが画面にどのように描画されるかの実際の物理サイズを知りません。を呼び出すMeasure()ことで、他のロジックがそれに依存している場合、何かがどのくらい大きくなるかを知ることができます。

于 2013-10-23T23:46:03.597 に答える