Я проектирую экран с линейной компоновкой. Экран выглядит так:
Как видите, после последнего макета появляются пробелы, и я не могу их удалить.
Код:
<FrameLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
app:layout_scrollFlags = "scroll">
<LinearLayout
android:id = "@+id/menu_absent_container"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:background = "@color/black"
android:layout_marginLeft = "4dp"
android:layout_marginRight = "4dp"
android:layout_marginTop = "4dp"
android:layout_marginBottom = "4dp"
android:padding = "8dp"
android:visibility = "gone"
android:gravity = "center_horizontal"
android:orientation = "vertical">
<TextView
android:id = "@+id/message"
style = "@style/BodyStrong"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:gravity = "left"
android:padding = "8dp"
android:textColor = "@color/white"
android:text = "@string/default_store_message"
/>
<Button
android:id = "@+id/navigate_default_menu"
style = "@style/BodySmall"
android:layout_width = "180dp"
android:layout_height = "wrap_content"
android:layout_marginTop = "8dp"
android:padding = "4dp"
android:text = "@string/default_menu"
android:contentDescription = "@string/profile_allergies_chart"
android:textColor = "@color/white_65_opacity"
android:background = "@drawable/fav_box"
tools:ignore = "MissingPrefix" />
<Button
android:id = "@+id/navigate_location"
style = "@style/BodySmall"
android:layout_width = "180dp"
android:layout_height = "wrap_content"
android:layout_marginTop = "8dp"
android:padding = "4dp"
android:text = "@string/location_search"
android:contentDescription = "@string/profile_allergies_chart"
android:textColor = "@color/white_65_opacity"
android:background = "@drawable/fav_box"
tools:ignore = "MissingPrefix" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
android:id = "@+id/sub_menus"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:visibility = "gone"
android:background = "@drawable/backgroundwhite"
android:padding = "2dp" />
</FrameLayout>
Обратите внимание, что вид ресайклера тоже есть, НО он скрыт, не думаю, что это причина проблемы.
Как удалить пустое пространство и сделать так, чтобы оставшееся пространство занимало линейный макет?
Обновлено: изменение ширины макета кадра на match_parent не работает
Ваш FrameLayout находится на wrap_content
Попробуй это:
<FrameLayout
android:layout_width = "match_parent"
android:layout_height = "match_parent"
app:layout_scrollFlags = "scroll">
Измените android:layout_height = "wrap_content" в макете кадра на android:layout_height = "match_parent", чтобы заполнить все пространство по вертикали, а затем внесите любые другие необходимые изменения, чтобы вложенные макеты выглядели красиво.
попробуйте сменить родительский FrameLayout attributes
из
android:layout_height = "wrap_content"
к
android:layout_height = "match_parent"
Вы должны изменить свой атрибут FrameLayoutheight с wrap_content на match_parent
Поскольку wrap_content занимают только пространство, необходимое для вашего content, а не все пространство activity.
<FrameLayout
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
app:layout_scrollFlags = "scroll">
Изменять:-
<FrameLayout
android:layout_width = "match_parent"
android:layout_height = "match_parent"
app:layout_scrollFlags = "scroll">
Думаю, это не весь макет. Если
match_parentво framenlayout не работает, должно быть что-то в рамке уровня наверху, что бы это заблокировать.