Intereting Posts
AdWhirl вызывает java.lang.NullPointerException после отключения сети Integer.parseInt и NumberFormatException на Android Создание меню после события с длинным кликом в режиме просмотра списка Как определить возможности гарнитуры Eclipse – Не удается завершить установку, потому что не удалось найти один или несколько обязательных элементов (org.apache.httpcomponents.httpclient) OnViewCreated – неправильное место для замены фрагмента? Android: как загрузить фото на flickr, используя флеш-андроид-2.0.0 и андроидную библиотеку Соединение с Sqlite в android через сервлет Является ли обычным enum Serializable тоже? Android и настройка альфа для (изображения) вида альфа Используйте несколько учетных записей firebase в одном приложении для Android для Google Analytics Требовать проект Gradle из другого каталога Метаданные Android из манифеста, возвращающего null Как удалить задержку при повторении анимации на Android? Перерисовать одну строку в listview

Android layout_below не работает

Я активно использую RelativeLayouts в своем приложении и думаю, что знаю, как их указать, но это у меня не получается. Я в основном позиционирую 4 TextViews в две строки по два, каждый из которых состоит из метки и текста, который будет поставляться. Он должен выглядеть примерно так:

Родился: 23 августа 1810 года Мейсон Ко, Кентукки

Умер: 15 июля 1865 Цинциннати, Гамильтон, Огайо

Это соответствующая часть макета:

<TextView android:id="@+id/birth_lbl" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/given_layout" android:layout_alignLeft="@+id/given_layout" android:layout_marginTop="6dip" style="@style/label" android:text="@string/born" /> <TextView android:id="@+id/birth" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@+id/birth_lbl" android:layout_alignBaseline="@+id/birth_lbl" android:layout_marginLeft="10dip" android:layout_marginRight="6dip" style="@style/main_text" android:text="dd Mmm yy" /> <TextView android:id="@+id/death_lbl" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/birth" android:layout_alignLeft="@+id/birth_lbl" android:layout_marginTop="4dip" style="@style/label" android:text="@string/died" /> <TextView android:id="@+id/death" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@+id/death_lbl" android:layout_alignLeft="@+id/birth" android:layout_alignBaseline="@+id/death_lbl" android:layout_marginRight="6dip" style="@style/main_text" android:text="dd Mmm yy" /> 

По какой-то причине, это отображает виды линии смерти ВЫШЕ видения родословной! Если я изменю спецификацию вида death_lbl, вместо этого будет «layout_below =» @ + id / birth_lbl », линии будут правильно установлены! Тем не менее, просмотр «рождение» возможен для нескольких строк, поэтому мне действительно нужно разместить вторую строку ниже «рождение», а не «birth_lbl».

Кто-нибудь знает причину такого поведения? Это происходит как в редакторе графической компоновки в Eclipse, так и во время выполнения на моем планшете под управлением Android 4.0.

Solutions Collecting From Web of "Android layout_below не работает"

Попробуйте изменить android:layout_below="@+id/birth" в death_lbl для android:layout_below="@id/birth" , потому что на этом этапе уже объявлено, что подразумевает + , это может привести к проблемам при повторном объявлении ,

Если фиксация ваших + знаков не помогает, вы всегда можете поместить свой id/death ниже id/birth , а затем поместите id/death_label toLeftOf id/death .

Я действительно смог дублировать это явление, закодировав временную layout только с этими полями и смог определить, что проблема исчезла, если я не разместил начальное изображение birth_lbl относительно представления над ним («given_layout» в этом дело).

Поэтому я не уверен, что это классифицируется как исправление, обходной путь или kludge (это все еще слово в наши дни?), Но я сделал, чтобы позиционировать текстовые представления внутри их собственного RelativeLayout и позиционировать RelativeLayout relative К id/given_layout . В любом случае, он работает …

Ваша проблема заключается в том, что вы вызываете свойства на относительном макете, как если бы вы его снова объявляли.

Когда вы объявляете ID для представления, тогда это должно быть сделано как этот android:id="@+id/button" и если вы хотите, чтобы Android разместил этот конкретный вид выше или ниже любого другого вида в относительном макете, который вы должны вызвать Он вроде этого android:layout_below="@id/textview"

Это говорит андроиду, что вы объявили кнопку с кнопкой id и хотите, чтобы она располагалась ниже текстового поля, помните, что вместо @+id вместо использования @id вместо представления используйте @id .

попробуй

 android:layout_alignBottom="@+id/giftCardTypes" 

Это спасло меня