2016-07-05 2 views
1

Я изучаю пользовательский компонент, и я нахожу некоторую разницу в view и viewgroup для метода onMeasure(). Например, кто-то звонит super.onMeasure, кто-то использует setMeasuredDimension в конце. Где разница? А measureChildren() означает что?В чем разница между view и viewgroup для метода onMeasure()?

Это первый раз, когда я пришел в это сообщество, надеюсь получить ответ, который я хотел, спасибо.

ответ

0

super.onMeasure()

Это используется, когда вы хотите оставить измерение пользовательского компонента для суперкласса вы простирающиеся от. Например, скажем, вы создаете пользовательский TextView для многоцветных текстов. Вы действительно не хотите переопределять реализацию TextView onMeasure(), потому что вы не имеете дело с шириной и высотой текста. Поэтому вы можете позвонить super.onMeasure() и оставить измерение до TextView.

setMeasuredDimension()

В случае, вы должны переопределить onMeasure(), вы используете setMeasuredDimension() сказать андроид системы вид делают конечную вычисленную ширину и высоту вашего пользовательским вида. Это будет использоваться системой просмотра для отображения вашего представления.

measureChildren() Он рассказывает детям этого ViewGroup измерить себя с помощью данной MeasureSpec.

Очень приятное обсуждение here.

Смежные вопросы