用于包装内容的按钮集占用的空间超出了所需的空间

时间:2013-12-23 11:08:16

标签: android android-layout

我正在为我的应用程序制作布局,遇到以下问题。

在我的布局文件中

http://gyazo.com/6b5aee107702c46637d9b799ab9170c6.png

但是当我把它放在我的片段中时(通过ListView,或只是用它,它看起来像这样:

enter image description here

category.xml(之后填充ListView的模板)

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_alignParentTop="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/second_grey">

<RelativeLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentStart="true">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:id="@+id/categoryName"
        android:text="@string/sport"
        android:textSize="24sp"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginRight="12dp"
        android:id="@+id/button"
        android:text="@string/see_more"
        android:textSize="12sp"
        android:background="@drawable/blue"
        android:textColor="@android:color/white" />
</RelativeLayout>

<LinearLayout
    android:orientation="horizontal"
    android:baselineAligned="false"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:weightSum="0.99">

    <RelativeLayout
        android:layout_height="wrap_content"
        android:background="@drawable/card"
        android:layout_width="0dp"
        android:layout_weight="0.33">
        <com.favega.groups.SquareLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/imgContainer1">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="8dp"
                android:id="@+id/img1"
                android:src="@drawable/img_football" />
        </com.favega.groups.SquareLayout>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/football"
            android:padding="8dp"
            android:id="@+id/tv1"
            android:layout_below="@+id/imgContainer1"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
    </RelativeLayout>

    <RelativeLayout
        android:layout_height="wrap_content"
        android:background="@drawable/card"
        android:layout_width="0dp"
        android:layout_weight="0.33">
        <com.favega.groups.SquareLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/imgContainer2">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="8dp"
                android:id="@+id/img2"
                android:src="@drawable/img_football" />
        </com.favega.groups.SquareLayout>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/basketball"
            android:padding="8dp"
            android:id="@+id/tv2"
            android:layout_below="@+id/imgContainer2"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
    </RelativeLayout>

    <RelativeLayout
        android:layout_height="wrap_content"
        android:background="@drawable/card"
        android:layout_width="0dp"
        android:layout_weight="0.33">
        <com.favega.groups.SquareLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/imgContainer3">
            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="8dp"
                android:id="@+id/img3"
                android:src="@drawable/img_football" />
        </com.favega.groups.SquareLayout>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/tennis"
            android:padding="8dp"
            android:id="@+id/tv3"
            android:layout_below="@+id/imgContainer3"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
    </RelativeLayout>
</LinearLayout>

fragment_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
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:background="@color/second_grey"
tools:context="com.favega.groups.MainActivity$CategoryFragment"
android:layout_width="match_parent"
android:layout_height="match_parent">

<include layout="@layout/category"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"></include>

2 个答案:

答案 0 :(得分:3)

尝试此操作..如果您使用TextView ,请使用Button而不是Button默认情况下,它会占用大部分

 <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginRight="12dp"
        android:id="@+id/button"
        android:text="see_more"
        android:textSize="12sp"
        android:background="@drawable/blue"
        android:textColor="@android:color/white" />

答案 1 :(得分:0)

从fragment_main.xml的相对布局中删除填充