У меня есть сетка с (в настоящее время) четырьмя ячейками в ширину. Каждой ячейке я указываю ширину 20 пикселей. Я хочу разместить это в середине и в верхней части макета портрета. Мой код ниже. Моя проблема заключается в том, что сетка hte заполняет всю ширину, тогда как она хочет, чтобы она просто занимала только количество столбцов * ширину столбца. И для белого пространства вокруг него. Я поместил цвета на каждый из компонентов, чтобы попытаться понять, где они находятся. Два вида в первом LinearLayout никогда не отображаются. Ive пыталсяМакет динамической сетки посередине
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context=".EntryPointFragment">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<View
android:layout_width="wrap_content"
android:background="#FFFFFF00"
android:layout_height="wrap_content"
android:gravity="right"
android:layout_weight="1"/>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/grid_view"
android:background="#FF000000"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numColumns="4"
android:columnWidth="30dp"
android:verticalSpacing="1dp"
android:horizontalSpacing="1dp"
android:gravity="center"/>
<View
android:layout_width="wrap_content"
android:background="#FFFF00FF"
android:layout_height="wrap_content"
android:gravity="right"
android:layout_weight="1"/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:background="#FF00FFFF"
android:layout_height="match_parent"
android:gravity="bottom"
android:layout_weight="1"/>
</LinearLayout>
Это изображение показывает вид вещи, которую я хочу.
Может ли кто-нибудь помочь мне настроить этот xml? Количество столбцов и строк в сетке будет меняться, поэтому пространство вокруг него должно динамически изменяться.
это выдержка? вам не хватает, по крайней мере, другого линейного макета в качестве родительского элемента для всех этих представлений (по вертикали) – user3802077
вам не нужна гравитация (это влияет на содержимое представлений, а не на его расположение), представления, окружающие gridview, должны иметь высоту либо фиксированную, либо match_parent. Также ваш linearlayout должен использовать высоту полного экрана, так как это то, что вы хотите :) (match_parent) – user3802077
Спасибо за ответы. Я обновил фрагмент кода сейчас. ive удалили гравюру и добавили LinearLayout. не уверен, что произошло с копией и вставкой. Извините – RNJ