Android布局有2个图像,底部留有空白

时间:2014-02-02 03:57:59

标签: android css android-layout

我正在尝试创建一个总是显示2个图像的布局,将屏幕长度平均分成两半,屏幕上不留空白(即使图像是中心裁剪的)。

到目前为止,我有以下代码,但这会在屏幕底部留下大量空白空间。我在“LinearLayout”中使用“RelativeLayout”的原因是因为我希望我的text1视图位于图像1的下半部分(与image1重叠)。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="230dp"
    android:layout_marginBottom="3dp" >

    <ImageView
        android:id="@+id/img1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clickable="true"
        android:contentDescription="@string/picture"
        android:scaleType="centerCrop" />

   <TextView
        android:id="@+id/text1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:gravity="center"
        android:padding="5dp"
        android:textColor="#fff" />

</RelativeLayout>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="230dp"
    android:layout_marginBottom="3dp" >

    <ImageView
        android:id="@+id/img2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clickable="true"
        android:contentDescription="@string/picture"
        android:scaleType="centerCrop" /> 

</RelativeLayout>

3 个答案:

答案 0 :(得分:2)

您正在将每个布局的高度硬编码为230dp,这可能会导致问题。在线性布局中,您应该使用权重来均匀分布屏幕区域。

在两个相对布局中使用android:layout_weight =“1”

点击此处查看更多信息

Android: 2 relative layout divided in half screen

答案 1 :(得分:1)

您描述的布局是一个简单的加权LinearLayout。只需将以下属性添加到LinearLayout

即可
android:weightSum="2"

然后对于每个RelativeLayout,将height属性更改为:

android:layout_height="0px"

并将以下属性添加到同一RelativeLayout s:

android:layout_weight="1"

答案 2 :(得分:0)

如果要在图像视图上重叠textview并在框架布局上使用布局权重,请尝试使用框架布局

布局xml的示例代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_marginBottom="3dp"
    android:layout_weight="0.5" >

    <ImageView
        android:id="@+id/img1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clickable="true"
        android:scaleType="centerCrop" />

    <TextView
        android:id="@+id/text1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Test"
        android:gravity="center"
        android:layout_gravity="center_vertical|bottom"
        android:padding="5dp"
        android:textColor="@android:color/black" />
</FrameLayout>

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_marginBottom="3dp"
    android:layout_weight="0.5" >

    <ImageView
        android:id="@+id/img2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clickable="true"
        android:scaleType="centerCrop" />
</FrameLayout>