#android
#Android
Вопрос:
на моем экране я хочу, чтобы вверху был Hearder (в частности, image) и List, а внизу я хочу иметь маленькие кнопки imagebuttons (например, youtube, facebook).
Я использую RelativeLayout .. первые два отображаются правильно, последний вообще не отображается на экране, кто-нибудь может здесь помочь.
мой файл макета выглядит следующим образом
<RelativeLayout>
<image></image>
<ListView></ListView>
<RelativeLayout>
<ImageButton></ImageButton>
</RelativeLayout>
</RelativeLayout>
Комментарии:
1. пожалуйста, опубликуйте свой XML-код. Его все еще не видно.
Ответ №1:
В RelativeLayout
имеет значение, в каком порядке вы добавляете дочерние представления (поскольку последние могут быть привязаны к ранее добавленным).
Я думаю, что это проблема в вашем макете, у вас уже есть fill_parent
/ match_parent
верхний вид внутри ( ListView
), и там нет места для нижнего колонтитула.
Вам следует изменить порядок ваших представлений внутри RelativeLayout
:
- сначала вы должны добавить представление заголовка (и привязать его к началу:
android:align_parent_top="true"
), затем - нижний колонтитул с кнопками (и привязать его к низу:
android:align_parent_bottom="true"
), и ListView
которые должны заполнить пустое пространство, войдут в качестве третьего вида сandroid:layout_below="header_view"
иadroid:layout_above
=»footer_view»`
Тогда ваш макет будет выглядеть:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout>
<image android:id="@ id/header"
android:layout_alignParentTop="true"></image>
<RelativeLayout android:id="@ id/footer"
android:layout_alignParentBottom="true">
<ImageButton></ImageButton>
</RelativeLayout>
<ListView
android:layout_below="@id/header"
android:layout_above="@id/footer"></ListView>
</RelativeLayout>