Android: как предотвратить ретрансляцию всей иерархии при обновлении View?

У меня есть следующая иерархия:

<RelativeLayout
android:id="@+id/activity_main"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="example.com.hellorelayout.MainActivity"
>

<example.com.hellorelayout.MyFrameLayout
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:background="#f00"
    android:tag="frame1"
    >
    <TextView
        android:id="@+id/hello1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello 1"
        android:layout_gravity="center"
        />
</example.com.hellorelayout.MyFrameLayout>

<example.com.hellorelayout.MyFrameLayout
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:layout_marginLeft="120dp"
    android:background="#ff0"
    android:tag="frame2"
    >
    <TextView
        android:id="@+id/hello2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello 2"
        android:layout_gravity="center"
        />
</example.com.hellorelayout.MyFrameLayout>
</RelativeLayout>

Каждый раз, когда я обновляю один из TextViews, все представления выкладываются (т.е. onLayout() и onGlobalLayout() обоих FrameLayouts запускаются).

Я ожидаю, что этого не произойдет, потому что FrameLayouts имеют фиксированную ширину и высоту.

Так, что происходит? Как я могу предотвратить вызов onLayout () в представлениях? Кстати, если я использую match_parent в TextViews, это работает, но это невозможно, поскольку это упрощение сценария, в котором я не имею никакого контроля над TextView.

0 ответов

Другие вопросы по тегам