Я хочу показать кнопку под ListView
. Проблема в том, что если расширение ListView
расширяется (элементы добавлены...), кнопка выталкивается из экрана.
Я попробовал a LinearLayout
с весами (как было предложено в Android: почему нет maxHeight для просмотра?), но либо я получил неправильные веса, либо это просто не сработало.
Кроме того, я нашел где-то подсказку использовать RelativeLayout
. ListView
затем будет установлен над кнопкой с параметром android:layout_above
.
Проблема в том, что я не знаю, как позиционировать кнопку после этого. В приведенном примере представление ниже ListView
было отредактировано с помощью android:layout_alignParentBottom
, но я не хочу, чтобы моя кнопка цеплялась за нижнюю часть экрана.
Любые идеи, кроме использования метода setHeight и некоторого вычисления требуемого пространства?
Изменить: Я получил много полезных ответов.
-
Решение bigstone и user639183 почти отлично работало. Тем не менее, мне пришлось добавить дополнительное дополнение/маркер к нижней части кнопки, поскольку оно все равно будет вытолкнуто наполовину из экрана (но затем остановлено).
-
Ответ Adinia с относительной компоновкой подходит, если вы хотите, чтобы кнопка была зафиксирована в нижней части экрана. Это не то, что я намеревался, но все же может быть полезным для других.
-
Решение AngeloS было тем, что я выбрал в конце, поскольку он только что создал эффекты, которые я хотел. Тем не менее, я сделал два незначительных изменения в
LinearLayout
вокруг кнопки:-
Во-первых, поскольку я не хотел иметь каких-либо абсолютных значений в своем макете, я изменил
android:layout_height="45px"
наwrap_content
, что тоже отлично работает. -
Во-вторых, так как я хотел, чтобы кнопка была центрирована по горизонтали, которая поддерживается только вертикальной
LinearLayout
, я изменил андроид: ориентация = "горизонтальная" на "вертикальная".
AngeloS также заявил в своем первоначальном сообщении, что он не был уверен, что параметр
android:layout_weight="0.1"
вLinearLayout
вокругListView
имел какой-либо эффект; Я просто попробовал, и это действительно так! Без кнопки кнопка снова выталкивается из экрана. -