У мене таке RelativeLayout
:
<RelativeLayout>
<TextView1/>
<TextView2/> // <-- View.VISIBLE OR View.GONE
<TextView3/>
<TextView4/>
</RelativeLayout>
Кожен з TextView
них закріплений нижче попереднього TextView
з android:layout_below
.
Проблема в тому, що TextView2 може там бути, а може і не бути (або View.VISIBLE
або View.GONE
); якщо це View.VISIBLE
, то все добре, але якщо це так View.GONE
, тоді TextView3 в кінцевому підсумку відображається поверх TextView1.
Я пробував різні способи виправити це, але кожного разу, коли мене виявляє RelativeLayout
"s", ви не можете посилатися на ідентифікатор, перш ніж він буде визначений ".
Я сподіваюся, що я пропускаю тут щось очевидне.
RelativeLayout
має вбудований механізм для пошуку найближчого неприйнятого анкерного виду. Я перевірив «Пряник», і він присутній навіть там: github.com/aosp-mirror/platform_frameworks_base/blob/…