删除相对布局

时间:2018-03-15 13:41:42

标签: android android-layout android-fragments layout

我正在使用下面的布局用ImageView和Textbox填充我的Fragment。但是在RelativeLayout下面有一个额外的空白区域,我无法消除。 enter image description here

如何将GridView与Relativelayout对齐,而且之间没有多余的空格?

如何降低Cardview的高度?

在我的xml布局

下面
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".main">

    <LinearLayout
        android:orientation="vertical"
        android:background="@drawable/bg"
        android:weightSum="6"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_alignParentTop="true"
            android:layout_weight="1">

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:layout_alignParentTop="true"
                android:adjustViewBounds="true"
                android:src="@drawable/rp" />

        </RelativeLayout>


        <android.support.v7.widget.GridLayout
            android:id="@+id/mainGrid"
            app:orientation="horizontal"
            app:columnCount="2"
            android:background="#FEFEFE"
            app:rowCount="3"
            app:columnOrderPreserved="false"
            android:layout_weight="5"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:padding="1dp"
            >

            <!-- Row 1 -->

            <!-- Column 1 -->
            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="0dp"
                app:layout_columnWeight="1"
                app:layout_rowWeight="1"
                android:layout_marginBottom="0dp"
                android:layout_marginLeft="0dp"
                android:layout_marginRight="0dp"
                app:cardElevation="8dp"
                app:cardCornerRadius="8dp"
                >

                <LinearLayout
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content">

                    <ImageView
                        android:src="@drawable/eka"
                        android:layout_gravity="center_horizontal"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id='@+id/eka'/>

                    <TextView
                       android:text="कान्तिपुर "
                        android:textAlignment="center"
                        android:textColor="#0f539c"
                        android:textSize="18sp"
                        android:textStyle="bold"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                </LinearLayout>

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

            <!-- Column 2 -->
            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="0dp"
                app:layout_columnWeight="1"
                app:layout_rowWeight="1"
                android:layout_marginBottom="0dp"
                android:layout_marginLeft="0dp"
                android:layout_marginRight="0dp"
                app:cardElevation="8dp"
                app:cardCornerRadius="8dp"
                >

                <LinearLayout
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content">

                    <ImageView
                        android:id='@+id/kat'
                        android:src="@drawable/kat"
                        android:layout_gravity="center_horizontal"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        />

                    <TextView
                        android:text="Kathmandu Post"
                        android:textAlignment="center"
                        android:textColor="#0f539c"
                        android:textSize="18sp"
                        android:textStyle="bold"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                </LinearLayout>

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


            <!-- Row 2 -->

            <!-- Column 1 -->
            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="0dp"
                app:layout_columnWeight="1"
                app:layout_rowWeight="1"
                android:layout_marginBottom="0dp"
                android:layout_marginLeft="0dp"
                android:layout_marginRight="0dp"
                app:cardElevation="8dp"
                app:cardCornerRadius="8dp"
                >

                <LinearLayout
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content">

                    <ImageView
                        android:id='@+id/set'
                        android:src="@drawable/set"
                        android:layout_gravity="center_horizontal"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                    <TextView
                        android:text="सेतोपाटि"
                        android:textAlignment="center"
                        android:textColor="#0f539c"
                        android:textSize="18sp"
                        android:textStyle="bold"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                </LinearLayout>

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

            <!-- Column 2 -->
            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="0dp"
                app:layout_columnWeight="1"
                app:layout_rowWeight="1"
                android:layout_marginBottom="0dp"
                android:layout_marginLeft="0dp"
                android:layout_marginRight="0dp"
                app:cardElevation="8dp"
                app:cardCornerRadius="8dp"
                >

                <LinearLayout
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content">

                    <ImageView
                        android:id='@+id/rato'
                        android:src="@drawable/rat"
                        android:layout_gravity="center_horizontal"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                    <TextView
                        android:text="रातोपाटि"
                        android:textAlignment="center"
                        android:textColor="#0f539c"
                        android:textSize="18sp"
                        android:textStyle="bold"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                </LinearLayout>

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

            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="0dp"
                app:layout_columnWeight="1"
                app:layout_rowWeight="1"
                android:layout_marginBottom="0dp"
                android:layout_marginLeft="0dp"
                android:layout_marginRight="0dp"
                app:cardElevation="8dp"
                app:cardCornerRadius="8dp"
                >

                <LinearLayout
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content">

                    <ImageView
                        android:id='@+id/gor'
                        android:src="@drawable/gor"
                        android:layout_gravity="center_horizontal"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                    <TextView
                        android:text="गोर्खापत्र"
                        android:textAlignment="center"
                        android:textColor="#0f539c"
                        android:textSize="18sp"
                        android:textStyle="bold"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                </LinearLayout>

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


            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="0dp"
                app:layout_columnWeight="1"
                app:layout_rowWeight="1"
                android:layout_marginBottom="0dp"
                android:layout_marginLeft="0dp"
                android:layout_marginRight="0dp"
                app:cardCornerRadius="8dp"
                >

                <LinearLayout
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content">

                    <ImageView
                        android:id='@+id/bbc'
                        android:src="@drawable/bbc"
                        android:layout_gravity="center_horizontal"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                    <TextView
                        android:text="BBC नेपाल"
                        android:textAlignment="center"
                        android:textColor="#0f539c"
                        android:textSize="18sp"
                        android:textStyle="bold"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                </LinearLayout>

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


            <!-- Row 2 -->

            <!-- Column 1 -->
            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="0dp"
                app:layout_columnWeight="1"
                app:layout_rowWeight="1"
                android:layout_marginBottom="0dp"
                android:layout_marginLeft="0dp"
                android:layout_marginRight="0dp"
                app:cardElevation="8dp"
                app:cardCornerRadius="8dp"
                >

                <LinearLayout
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content">

                    <ImageView
                        android:id='@+id/onl'
                        android:src="@drawable/onl"
                        android:layout_gravity="center_horizontal"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                    <TextView
                        android:text="Online खबर"
                        android:textAlignment="center"
                        android:textColor="#0f539c"
                        android:textSize="18sp"
                        android:textStyle="bold"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                </LinearLayout>

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

            <!-- Column 2 -->
            <android.support.v7.widget.CardView
                android:layout_width="0dp"
                android:layout_height="0dp"
                app:layout_columnWeight="1"
                app:layout_rowWeight="1"
                android:layout_marginBottom="0dp"
                android:layout_marginLeft="0dp"
                android:layout_marginRight="0dp"
                app:cardElevation="8dp"
                app:cardCornerRadius="8dp"
                >

                <LinearLayout
                    android:layout_gravity="center_horizontal|center_vertical"
                    android:layout_margin="16dp"
                    android:orientation="vertical"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content">

                    <ImageView
                        android:id='@+id/nag'
                        android:src="@drawable/nag"
                        android:layout_gravity="center_horizontal"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                    <TextView
                        android:text="नागरिक"
                        android:textAlignment="center"
                        android:textColor="#0f539c"
                        android:textSize="18sp"
                        android:textStyle="bold"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content" />

                </LinearLayout>

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




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

    </LinearLayout>

</ScrollView>

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

您将android:weightSum="6"分配给完整的LinearLayout。因此,RelativeLayout占总高度的六分之一(android:layout_weight="1")。由于你的GridLayout非常大(相对于你的FrameLayout),FrameLayout也变得很大(确切地说是GridLayout的五分之一)。图像不够大,无法填充整个FrameLayout,您会看到额外的空间。

你不应该在你的情况下使用重量。只需将wrap_content分配给RelativeLayout&GridLayout&{39} android:layout_height

您可以在此处找到有关布局权重的进一步说明:https://developer.android.com/guide/topics/ui/layout/linear.html