遇到重力和线性布局问题

时间:2014-07-14 00:59:50

标签: android android-layout

自从我开始进行Android开发以来,我已经在过去的6个月内使用过这个网站,并且还没有提出问题,但现在我遇到了一个问题。 #39;让我疯狂,我无法弄明白。

基本上我要做的是HORIZONTALLY创建一个GridView占据屏幕大约4/10的垂直LinearLayout 2/10,其中包含一些按钮,最后是滚动视图也将占据屏幕的大约4/10。

GridView 4 / 10th Middle LinearLayout 2 / 10th scrollview 4/10th

我的问题是布局没有正确显示。我的GridView将占用我的一半屏幕与我的滚动视图相同,我的中间布局将消失。

Gridview仅占用(视觉上大致为80px),我的中间LinearLayout将占据几乎所有的屏幕,我的滚动视图将占据大约三分之一。

我在xml文件中因重力和其他事情而错过了很多但是没有成功。

<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"
    tools:context=".Activity_Test"
    android:orientation="horizontal"
    android:paddingLeft="5dp"
    android:paddingRight="5dp" 
    android:paddingTop="5dp"
    android:paddingBottom="5dp" >


    <GridView
        android:id="@+id/image_grid_view"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:numColumns="@integer/num_columns"
        android:verticalSpacing="2dip"
        android:horizontalSpacing="2dip"
        android:gravity="left"
        android:stretchMode="columnWidth"
        android:layout_weight=".4"
        android:background="@color/grid_background"  />


    <LinearLayout
        android:id="@+id/middle"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight=".2">

        <Button
            android:id="@+id/home"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/home"/>

        <Button
            android:id="@+id/battle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/begin"/>
    </LinearLayout>


    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight=".3">


        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <Button
                android:id="@+id/t1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/test_bt_pick_pilot"/>

            <Button
                android:id="@+id/t2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/test_bt_pick_pilot"/>

            <Button
                android:id="@+id/t3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/test_bt_pick_pilot"/>

            <Button
                android:id="@+id/t4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/test_bt_pick_pilot"/>

            <Button
                android:id="@+id/t5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/test_bt_pick_pilot"/>

        </LinearLayout>
    </ScrollView>
</LinearLayout>

非常感谢你们!

PS:什么是声望点,我该如何获得它们?我想要包含一个图像,让你们了解我的目标,但它说我需要至少10个。

1 个答案:

答案 0 :(得分:0)

请尝试这种方式,希望这有助于您解决问题。

<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"
    tools:context=".Activity_Test"
    android:orientation="horizontal"
    android:gravity="center"
    android:padding="5dp">


    <GridView
        android:id="@+id/image_grid_view"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:numColumns="@integer/num_columns"
        android:verticalSpacing="2dp"
        android:horizontalSpacing="2dp"
        android:gravity="left"
        android:stretchMode="columnWidth"
        android:layout_weight=".40"
        android:background="@color/grid_background"  />


    <LinearLayout
        android:id="@+id/middle"
        android:orientation="vertical"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight=".20">

        <Button
            android:id="@+id/home"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/home"/>

        <Button
            android:id="@+id/battle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/begin"/>
    </LinearLayout>


    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight=".40">


        <LinearLayout
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <Button
                android:id="@+id/t1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/test_bt_pick_pilot"/>

            <Button
                android:id="@+id/t2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/test_bt_pick_pilot"/>

            <Button
                android:id="@+id/t3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/test_bt_pick_pilot"/>

            <Button
                android:id="@+id/t4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/test_bt_pick_pilot"/>

            <Button
                android:id="@+id/t5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/test_bt_pick_pilot"/>

        </LinearLayout>
    </ScrollView>
</LinearLayout>