2012-10-15 100 views
2

我有两个相对的布局,它们之间没有任何空格,它们带有圆角矩形边框。 我想要一个图像叠加在由边界生成的公共线上 这怎么能实现?覆盖相对布局的图像

enter image description here

布局代码:

//COde for the layout. 
    <RelativeLayout 
       android:id="@+id/Layout1" 
       android:layout_width="300dp" 
       android:layout_height="60dp" 
       android:layout_below="@id/selectText" 
       android:layout_marginLeft="10dp" 
       android:background="@layout/rounded_border_1" > 

       <TextView 
        android:id="@+id/Text1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:layout_centerInParent="true" 
        android:layout_marginLeft="10dp" 
        android:text="@string/string1" 
        android:textColor="@color/text_color" 
        android:textSize="14sp" /> 

       <TextView 
        android:id="@+id/Name1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignBaseline="@id/Text1" 
        android:layout_alignParentRight="true" 
        android:layout_marginRight="20dp" 
        android:hint="@string/hint" 
        android:textColor="@color/hint_color" 
        android:textSize="14sp" /> 
      </RelativeLayout> 

//code for the image 
      <ImageButton 
       android:id="@+id/image" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="30dp" 
       android:src="@drawable/swap"/> 

//code for the layout 
      <RelativeLayout 
       android:id="@+id/Layout2" 
       android:layout_width="300dp" 
       android:layout_height="60dp" 
       android:layout_below="@id/Layout1" 
       android:layout_marginLeft="10dp" 
       android:background="@layout/rounded_border_2" > 

       <TextView 
        android:id="@+id/Text2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:layout_centerInParent="true" 
        android:layout_marginLeft="10dp" 
        android:text="@string/string2" 
        android:textColor="@color/text_color" 
        android:textSize="14sp" /> 

       <TextView 
        android:id="@+id/Name2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignBaseline="@id/Text2" 
        android:layout_alignParentRight="true" 
        android:layout_marginRight="20dp" 
        android:hint="@string/hint" 
        android:textColor="@color/hint_color" 
        android:textSize="14sp" /> 
      </RelativeLayout> 
    //Code for the border1 

rounded_border_1.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle" > 

     <gradient 
      android:angle="270" 
      android:endColor="@color/gradient_end" 
      android:startColor="@color/gradient_start" /> 

     <stroke 
      android:width="1dp" 
      android:color="@color/canvas_border" /> 

     <corners 
      android:bottomLeftRadius="0dp" 
      android:bottomRightRadius="0dp" 
      android:topLeftRadius="5dp" 
      android:topRightRadius="5dp" /> 

    </shape> 

rounded_border_2.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
     android:shape="rectangle" > 

     <gradient 
      android:angle="270" 
      android:endColor="@color/gradient_end" 
      android:startColor="@color/gradient_start" /> 

     <stroke 
      android:width="1dp" 
      android:color="@color/canvas_border" /> 

     <corners 
      android:bottomLeftRadius="5dp" 
      android:bottomRightRadius="5dp" 
      android:topLeftRadius="0dp" 
      android:topRightRadius="0dp" /> 

    </shape> 
+0

请张贴您布局代码了。 – WarrenFaith

+0

我只提到了在图像中显示的部分的布局。整个屏幕有更多。 –

回答

3

您需要嵌入布局也在RelativeLayout中。我只会加重的重要属性,以使它们更易于可见:

<!-- surrounding RelativeLayout not visible --> 
<RelativeLayout 
    android:layout_height="120dp" 
    android:layout_below="@id/selectText"> 
    <RelativeLayout 
     android:id="@+id/Layout1" 
     android:layout_width="300dp" 
     android:layout_height="60dp" > 
     <TextView /> 
     <TextView /> 
    </RelativeLayout> 
    <RelativeLayout 
     android:id="@+id/Layout2" 
     android:layout_width="300dp" 
     android:layout_height="60dp" 
     android:layout_below="@id/Layout1" > 
     <TextView /> 
     <TextView /> 
    </RelativeLayout> 
    <ImageButton 
     android:id="@+id/image" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="30dp" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:src="@drawable/swap" /> 
</RelativeLayout> 
+0

android:layout_centerInParent =“vertical”。你的意思是android:layout_centerVertical =“true”? –

+0

是的,我的错。我记得它不正确。 – WarrenFaith

+0

非常感谢。有效 。 –