Intereting Posts
Как разрешить альфа-и бета-тестерам приложений Android бесплатно загружать приложение? Не удалось найти Java Runtime Android Studio Robolectric Выберите только один флажок Каковы классы PreferenceManager и SharedPreference, используемые для Android? Текст центра в тосте в Android Ошибка Gradle ADT 0.4: отсутствует android.buildToolsVersion Я никогда не устанавливал пароли в хранилище ключей и псевдоним, так как они созданы? Как сделать автоматический просмотр Android-плеера Android SDK Mediaplayer.create случайным образом возвращает null Предотвращение растягивания фонового изображения Как получить ascender / descender и высоту x для заданного шрифта Перекрытие эффекта тени остается в навигационном навигационном навигаторе Ошибка при установке патчей для перезапуска при запуске приложения для Android с Android Studio 2.0 Как исправить eror app \ build \ intermediates \ res \ merged \ debug \ values-v24 \ values-v24.xml Столбец «приложение» Android logcat всегда пуст

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" 

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