我应该使用哪些RelativeLayout属性?

时间:2011-10-28 10:36:03

标签: android android-layout

我想为我的应用设计一个布局,如下图所示

layout to be designed

但是我得到的问题是,我申请相对布局的属性不正确,因为在我的xml代码下面有水平标尺图像具有centerInParent属性和垂直标尺图像也具有centerInParent的属性通过这样做两者统治者来到准确的地方,但是当我把一个孩子放在水平标尺上方或一个孩子到左边的垂直标尺时,他们不会出现,因为xml文件的图形视图显示了这个原因,虽然通过应用centerInParent两个标尺来到中心,但他们的参考仍然在这就是为什么通过使用layout_above或layout_toLeftOf,孩子们走出布局

我的xml代码

<?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:background="#FFFFFF"
          android:orientation="vertical">

       <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:background="@drawable/title"
        >

       <ImageView
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content"
          android:id="@+id/icon_img"
          android:layout_alignParentLeft="true"
          android:layout_marginLeft="10dip"
          android:layout_marginTop="2.5dip"
          android:src="@drawable/smicon"
       />
       <TextView  
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:layout_marginLeft="15dip"
          android:layout_toRightOf="@id/icon_img"
          android:layout_marginTop="3dip"
          android:text="Welcome To JEM"
          android:textStyle="bold"
          android:id="@+id/wcm_id"
          android:textSize="18dip"
          android:textColor="#FFFFFF"
       />

      <TextView  
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content"
          android:layout_alignBottom="@id/wcm_id"
          android:layout_alignParentRight="true"
          android:layout_marginRight="5dip"
          android:text="APPS BY SAM"
          android:id="@+id/app_by"
          android:textSize="16dip"
          android:textColor="#FFFFFF"
      />
     </RelativeLayout>

    <!-- This relative layout which is showing the main cross and icon around it -->
     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_marginTop="20dip"
     >


    <ImageView
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content"
          android:id="@+id/center_hr"
          android:layout_centerInParent="true"
          android:src="@drawable/horizontal"
    />

   <ImageView
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content"
          android:id="@+id/center_vr"
          android:layout_centerInParent="true"
          android:src="@drawable/verticle"
   />

  <ImageView
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content"
          android:layout_above="@id/center_hr"
          android:layout_toLeftOf="@id/center_vr"
          android:id="@+id/getuser"
          android:src="@drawable/adduser"
  />

 <ImageView
           android:layout_width="wrap_content" 
           android:layout_height="wrap_content"
           android:layout_above="@id/center_hr"
           android:layout_toRightOf="@id/center_vr"
           android:id="@+id/set"
           android:src="@drawable/set"
 />

 <ImageView
           android:layout_width="wrap_content" 
           android:layout_height="wrap_content"
           android:layout_below="@id/center_hr"
           android:layout_toLeftOf="@id/center_vr"
           android:id="@+id/get"
           android:src="@drawable/get"
 />

 <ImageView
           android:layout_width="wrap_content" 
           android:layout_height="wrap_content"
           android:layout_below="@id/center_hr"
           android:layout_toRightOf="@id/center_vr"
           android:id="@+id/ico"
           android:src="@drawable/icon"
 />

</RelativeLayout>

</LinearLayout>

所以大家请告诉我如何将这个主十字架和图标发送到lef,正上方和下方,如图所示

2 个答案:

答案 0 :(得分:1)

试试这个..

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal">
<ImageView 
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
 <ImageView 
android:id="@+id/vertical_ruler"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/imageView1"/>

<ImageView 
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/vertical_ruler"
/>
 <ImageView 
android:id="@+id/horizontal_ruler"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/imageView1"/>
<ImageView 
android:id="@+id/imageView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/horizontal_ruler"/>
 <ImageView 
android:id="@+id/imageView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/vertical_ruler"
android:layout_below="@id/horizontal_ruler"
/>   

可能对你有帮助..

答案 1 :(得分:0)

您可以使用RelativeLayout中嵌入的TableLayout。 RelativeLayout可用于将TableLayout置于屏幕中心,在TableLayout中,您可以添加图片/按钮,并说明您希望TableLayout拥有多少行和列。