2016-05-11 4 views
-1

В моих исследованиях я должен сделать приложение для Android, которое извлекает метеорологические данные с метеостанции. Они будут отображаться в блоках. Эти блоки будут отходить на 4 колонны и 2 ряда.Square Grid - XML ​​

enter image description here

Так что я хотел, чтобы создать квадратную сетку из 4 столбцов и 2 линии для предоставления блоков.

У кого-то есть решение, которое поможет мне создать эту сетку, пожалуйста?

ответ

0

Есть много вариантов: 1. Вы можете выбрать вид ресайклер с GridLayoutManager

<android.support.v7.widget.RecyclerView 
    android:id="@+id/main_grid" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="2dp" 
    /> 

Так внутри активности вы будете делать что-то вроде

mRecyclerView.setLayoutManager(new GridLayoutManager(getContext(), COLUMN_COUNT)); 

2. Вы выбираете вид сетки

<GridView 
android:id="@+id/grid" 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:drawSelectorOnTop="true" 
android:horizontalSpacing="2dp" 
android:numColumns="4" 
android:padding="4dp" 
android:stretchMode="columnWidth"/> 

Для фиксированного размера предмета вы должны использовать

<android.support.v7.widget.GridLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    app:columnCount="4" 
    app:orientation="horizontal" 
    > 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Hello World!" 
    /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Hello World!" 
    /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Hello World!" 
    /> 
    <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Hello World!" 
    /> 

</android.support.v7.widget.GridLayout> 

Убедитесь, что вы добавить это в вашем приложении Gradle

compile 'com.android.support:gridlayout-v7:23.0.1' 
+0

Спасибо за ваш ответ! Я предпочитаю выбирать XML, поэтому GridView. С этим я могу получить свою квадратную сетку? – McNavy

+0

Должен работать .. Прошу прокомментировать, если возникли проблемы – user3354265

+0

Я хочу сетку для конструктивного блока. Позволь мне объяснить. Мне нужна сетка строк 2 и 4 столбца. Я также ожидал бы извлечь выгоду из сетки, чтобы отличить 2 строки и 4 блока изначально. У вас есть решение моей проблемы? – McNavy