0

我设计了一种布局,总共有 4 个 RelativeLayout 一个是外壳,3 个是它的子级。当我在外部布局中放置白色时,没有留下任何空格,但是当我将 9patch 图像作为可绘制图像时,只剩下很少的默认填充/边距。有没有正确解决填充/边距问题的方法?我尝试了负边距,但它会隐藏位布局我认为这不是正确的解决方案,这是我的布局

在此处输入图像描述

当我将白色作为背景时,我的布局看起来像

这是我的布局的以下代码

在此处输入图像描述

    <RelativeLayout
        android:id="@+id/DetailSection1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/HeaderLayout"
        android:layout_toLeftOf="@+id/DetailSection2" 
        
        >

        <TextView
            android:id="@+id/lblRestaurantName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/DetailSection1"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="5dp"
            android:textColor="@color/heding_font"
            android:textSize="@dimen/headingFont"
            android:text="Restaurant Name" />

        <ImageView
            android:id="@+id/imgpin"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/lblRestaurantName"
            android:layout_margin="5dp"
            android:src="@drawable/pin" />

        <TextView
            android:id="@+id/lblAddress"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/lblRestaurantName"
            android:layout_marginTop="5dp"
            android:layout_toRightOf="@+id/imgpin"
            android:text="Address"
            android:textColor="@color/restaurant_list_font"
            android:textSize="@dimen/lableNormalFont"
             />

        <ImageView
            android:id="@+id/imgphone"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/lblAddress"
            android:layout_margin="5dp"
            android:src="@drawable/phn" />

        <TextView
            android:id="@+id/lblMobile"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/lblAddress"
            android:layout_marginTop="5dp"
            android:layout_toRightOf="@+id/imgphone"
            android:text="Mobile"
            android:textColor="@color/restaurant_list_font"
            android:textSize="@dimen/lableNormalFont"
             />

        <ImageView
            android:id="@+id/imgstar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/lblMobile"
            android:layout_margin="5dp"
            android:src="@drawable/star" />

        <TextView
            android:id="@+id/lblStar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/lblMobile"
            android:layout_marginTop="5dp"
            android:layout_toRightOf="@+id/imgstar"
            android:text="Star" 
            android:textColor="@color/restaurant_list_font"
            android:textSize="@dimen/lableNormalFont"
            />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/DetailSection2"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_alignBottom="@+id/DetailSection1"
        android:layout_toLeftOf="@+id/DetailSection3"
        android:layout_toRightOf="@+id/lblStar" >

        <ImageView
            android:id="@+id/imgmore"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:src="@drawable/read_more" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/DetailSection3"
        android:layout_width="95dp"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/HeaderLayout"
        android:layout_gravity="center"
        android:layout_centerInParent="true"
        android:background="@drawable/photo_cover" >

        <ImageView
            android:id="@+id/imgRestaurant"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/lblMobile"
            android:layout_margin="5dp"
            android:src="@drawable/rihanna" />
    </RelativeLayout>
</RelativeLayout>
4

2 回答 2

2

从您发布的 9-patch 可绘制图像中:

表示视图上水平数据填充的底线不是从左侧的起点绘制的。

我不确定。而且我知道我在解释上述行时并不清楚。

只需检查一下:

考虑下面的 9-patch 用作 TextView 的背景。如果您在其中放置一些文本,它将从绘制底线的区域开始。这意味着它将从左边开始,一直到右边。

在此处输入图像描述

如果您使用以下 9-patch 作为背景并尝试与上面相同的操作。将导致文本未从左侧写入。它留下了一点填充。

在此处输入图像描述

这就是你得到这样结果的原因。当然,我对此百分百确定。

所以,只是想看看这是否有效。尝试更改底线以填充完整图像。

于 2013-03-02T05:57:29.753 回答
0

我认为你最好为你想要的布局应用背景颜色。还有一个保留代码,以便我们可以轻松理解你的问题是什么。

于 2013-03-02T05:25:11.887 回答