在android中布局的隐藏空间

时间:2014-04-05 08:08:27

标签: android android-layout android-linearlayout

我创建了一个布局,如下图所示:

enter image description here

现在问题是它在图像之间有如此空间/心脏布局,我用红线突出显示。我已经尝试了很多删除它,但问题是它没有显示图形布局中的空间。但每当我尝试运行应用程序时,空间总会显示出来。

我不明白这个空间究竟来自哪里。我已经尝试了所有可能的事情。

请帮我解决这个问题。

这是布局代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    android:background="@drawable/bg_selector">

    <LinearLayout
        android:id="@+id/sp_color"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight=".9"
        android:orientation="vertical"
        android:padding="10dp" >

        <ImageView
            android:id="@+id/sp_image"
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_margin="5dp"
            android:layout_weight=".8"
            android:background="@drawable/baby1"
            android:scaleType="fitXY" />

        <TextView
            android:id="@+id/sp_profile"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="15dp"
            android:gravity="center"
            android:text="Hello World" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/sp_linh"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_marginLeft="15dp"
        android:layout_weight=".10"
        >

        <LinearLayout
            android:id="@+id/ll_clk_hrts"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:padding="5dp" >

            <ImageView
                android:id="@+id/sp_imageHeart"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingRight="5dp"
                android:src="@drawable/heart" />

            <TextView
                android:id="@+id/sp_hearts"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="12"
                android:textSize="15sp" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/sp_ll_like_layout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:padding="5dp" >

            <ImageView
                android:id="@+id/sp_imageLike"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:paddingLeft="5dp"
                android:src="@drawable/ic_like" />

            <TextView
                android:id="@+id/sp_likes"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingLeft="5dp"
                android:text="4"
                android:textSize="15sp" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

bg_selector 代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
      android:shape="rectangle" >

    <solid android:color="#EBEBEB" />

    <corners
        android:bottomLeftRadius="5dp"
        android:bottomRightRadius="5dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp" />
    <stroke android:width="1dp" 
        android:color="@android:color/black" 
       />

</shape>

感谢。

1 个答案:

答案 0 :(得分:1)

两个想法:

  • 对于外(第一个)LinearLayout,请设置android:layout_height="wrap_content"
  • 或者在外部布局中添加一个空元素(如Space)作为最后一个元素,在类似的条形@+id/sp_linh之后,并给予它足够的重量来推动该条。