Frage

I have a GridLayout inside a LinearLayout. The icons are 45 px x 45 px. When I test the UI on a 240 x 400 screen, only half of the 8 rows are displayed.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/chooseSign"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/bg_grey"    
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"    
tools:context=".ViewReadingActivity" >

<TextView
    android:id="@+id/chooseYourSign"        
    android:gravity="center_horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/choose_rathi"
    android:textColor="@color/green"
    android:textSize="25sp" />

<GridLayout
    android:id="@+id/signs"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:columnCount="5"
    android:orientation="horizontal"
    android:rowCount="8" >

    <ImageView
        android:id="@+id/iAries"
        android:layout_width="50dp"
        android:layout_gravity="center_horizontal"
        android:contentDescription="@string/aries"
        android:src="@drawable/aries" />

    <Space
        android:layout_width="5dp"
        android:layout_columnSpan="1" />

    <ImageView
        android:id="@+id/iTaurus"
        android:layout_width="50dp"
        android:layout_gravity="center_horizontal"
        android:contentDescription="@string/taurus"
        android:src="@drawable/taurus" />

    <Space
        android:layout_width="5dp"
        android:layout_columnSpan="1" />

    <ImageView
        android:id="@+id/iGemini"
        android:layout_width="50dp"
        android:layout_gravity="center_horizontal"
        android:contentDescription="@string/gemini"
        android:src="@drawable/gemini" />

    <TextView
        android:id="@+id/aries"
        android:layout_gravity="center_horizontal|top"
        android:text="@string/aries"
        android:textColor="@color/green"
        android:textSize="14sp" />

    <Space
        android:layout_width="5dp"
        android:layout_columnSpan="1" />

    <TextView
        android:id="@+id/taurus"
        android:layout_gravity="center_horizontal|top"
        android:text="@string/taurus"
        android:textColor="@color/green"
        android:textSize="14sp" />

    <Space
        android:layout_width="5dp"
        android:layout_columnSpan="1" />

    <TextView
        android:id="@+id/gemini"
        android:layout_gravity="center_horizontal|top"
        android:text="@string/gemini"
        android:textColor="@color/green"
        android:textSize="14sp" />

    <ImageView
        android:id="@+id/iCancer"
        android:layout_width="50dp"
        android:layout_gravity="center_horizontal"
        android:contentDescription="@string/cancer"
        android:src="@drawable/cancer" />

    <Space
        android:layout_width="5dp"
        android:layout_columnSpan="1" />

    <ImageView
        android:id="@+id/iLeo"
        android:layout_width="50dp"
        android:layout_gravity="center_horizontal"
        android:contentDescription="@string/leo"
        android:src="@drawable/leo" />

    <Space
        android:layout_width="5dp"
        android:layout_columnSpan="1" />

    <ImageView
        android:id="@+id/iVirgo"
        android:layout_width="50dp"
        android:layout_gravity="center_horizontal"
        android:contentDescription="@string/virgo"
        android:src="@drawable/virgo" />

    <TextView
        android:id="@+id/cancer"
        android:layout_gravity="center_horizontal|top"
        android:text="@string/cancer"
        android:textColor="@color/green"
        android:textSize="14sp" />

    <Space
        android:layout_width="5dp"
        android:layout_columnSpan="1" />

    <TextView
        android:id="@+id/leo"
        android:layout_gravity="center_horizontal|top"
        android:text="@string/leo"
        android:textColor="@color/green"
        android:textSize="14sp" />

    <Space
        android:layout_width="5dp"
        android:layout_columnSpan="1" />

    <TextView
        android:id="@+id/virgo"
        android:layout_gravity="center_horizontal|top"
        android:text="@string/virgo"
        android:textColor="@color/green"
        android:textSize="14sp" />

    <ImageView
        android:id="@+id/iLibra"
        android:layout_width="50dp"
        android:layout_gravity="center_horizontal"
        android:contentDescription="@string/libra"
        android:src="@drawable/libra" />

    <Space
        android:layout_width="5dp"
        android:layout_columnSpan="1" />

    <ImageView
        android:id="@+id/iScorpio"
        android:layout_width="50dp"
        android:layout_gravity="center_horizontal"
        android:contentDescription="@string/scorpio"
        android:src="@drawable/scorpio" />

    <Space
        android:layout_width="5dp"
        android:layout_columnSpan="1" />

    <ImageView
        android:id="@+id/iSagittarius"
        android:layout_width="50dp"
        android:layout_gravity="center_horizontal"
        android:contentDescription="@string/sagittarius"
        android:src="@drawable/sagittarius" />

    <TextView
        android:id="@+id/libra"
        android:layout_gravity="center_horizontal|top"
        android:text="@string/libra"
        android:textColor="@color/green"
        android:textSize="14sp" />

    <Space
        android:layout_width="5dp"
        android:layout_columnSpan="1" />

    <TextView
        android:id="@+id/scorpio"
        android:layout_gravity="center_horizontal|top"
        android:text="@string/scorpio"
        android:textColor="@color/green"
        android:textSize="14sp" />

    <Space
        android:layout_width="5dp"
        android:layout_columnSpan="1" />

    <TextView
        android:id="@+id/sagittarius"
        android:layout_gravity="center_horizontal|top"
        android:text="@string/sagittarius"
        android:textColor="@color/green"
        android:textSize="14sp" />

    <ImageView
        android:id="@+id/iCapricorn"
        android:layout_width="50dp"
        android:layout_gravity="center_horizontal"
        android:contentDescription="@string/capricorn"
        android:src="@drawable/capricorn" />

    <Space
        android:layout_width="5dp"
        android:layout_columnSpan="1" />

    <ImageView
        android:id="@+id/iAquarius"
        android:layout_width="50dp"
        android:layout_gravity="center_horizontal"
        android:contentDescription="@string/aquarius"
        android:src="@drawable/aquarius" />

    <Space
        android:layout_width="5dp"
        android:layout_columnSpan="1" />

    <ImageView
        android:id="@+id/iPisces"
        android:layout_width="50dp"
        android:layout_gravity="center_horizontal"
        android:contentDescription="@string/pisces"
        android:src="@drawable/pisces" />

    <TextView
        android:id="@+id/capricorn"
        android:layout_gravity="center_horizontal|top"
        android:text="@string/capricorn"
        android:textColor="@color/green"
        android:textSize="14sp" />

    <Space
        android:layout_width="5dp"
        android:layout_columnSpan="1" />

    <TextView
        android:id="@+id/aquarius"
        android:layout_gravity="center_horizontal|top"
        android:text="@string/aquarius"
        android:textColor="@color/green"
        android:textSize="14sp" />

    <Space
        android:layout_width="5dp"
        android:layout_columnSpan="1" />

    <TextView
        android:id="@+id/pisces"
        android:layout_gravity="center_horizontal|top"
        android:text="@string/pisces"
        android:textColor="@color/green"
        android:textSize="14sp" />
</GridLayout>

Android screen

What changes do I need to make so that the layout fits the screen?

War es hilfreich?

Lösung

use grid view like this so it will fit automatically according to the screen size

<GridView
                android:id="@+id/grid_view"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:columnWidth="90dp"
                android:gravity="center"
                android:layout_marginLeft="5dp"
                android:layout_marginRight="5dp"
                android:horizontalSpacing="10dp"
                android:numColumns="auto_fit"
                android:stretchMode="columnWidth"
                android:scrollingCache="false"
                android:animationCache="false"
                android:fastScrollEnabled="true"
                android:verticalSpacing="10dp" />
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top