Android布局定位

时间:2012-02-16 16:36:05

标签: android xml android-layout

我尝试创建一个我有图像的布局,并在图片右侧创建用户名称,然后也在右侧但名称下方显示用户的出生日期,然后是用户位置。虽然不确定如何正确定位物品。在下面的代码中,您可以看到我尝试将layout_below和layout_toRightOf组合在一起。使用第一个文本视图本身可以正确定位名称,但是当我添加其他两个时,它们最终都会出现在右上角。

我是否正确相信使用toRightOf后跟下面取消了第一个布局。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
android:id="@+id/scrollView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content">
    <ImageView
        android:id="@+id/profile_image"
        android:src="@drawable/ic_tab_white"
        android:layout_width="150dp"
        android:layout_height="150dp" 
        android:contentDescription="@string/image_description">
    </ImageView>
    <TextView 
        android:id="@+id/name" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/unset"
        android:layout_toRightOf="@id/icon_image" >
   </TextView>
   <TextView 
        android:id="@+id/dob" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/unset"
        android:layout_toRightOf="@id/icon_image"
            android:layout_below="@id/name">
   </TextView>
   <TextView 
        android:id="@+id/location" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/unset"
        android:layout_toRightOf="@id/icon_image"
            android:layout_below="@id/dob">
   </TextView>
</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

只需使用类似此伪代码的内容

<scrollview>
    <linearlayout> vertical
        <Linearlayout> horizontal
            <imageview>
            <linearlayout> vertical
                <textview>
                <textview>
                <textview>
            </linearlayout>
        </linearlayout>
    </linearlayout>
</scrollview>

答案 1 :(得分:0)

你有一个错字,你的imageView id是@ + id / profile_image,而你所引用的其余布局是“@ id / icon_image”。 试试:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
android:id="@+id/scrollView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout 
      xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content">
      <ImageView
          android:id="@+id/profile_image"
          android:src="@drawable/ic_tab_white"
          android:layout_width="150dp"
          android:layout_height="150dp" 
          android:contentDescription="@string/image_description">
      </ImageView>
      <TextView 
          android:id="@+id/name" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="@string/unset"
          android:layout_toRightOf="@id/profile_image" >
     </TextView>
     <TextView 
          android:id="@+id/dob" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="@string/unset"
          android:layout_toRightOf="@id/profile_image"
              android:layout_below="@id/name">
     </TextView>
     <TextView 
          android:id="@+id/location" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="@string/unset"
          android:layout_toRightOf="@id/profile_image"
              android:layout_below="@id/dob">
     </TextView>
  </RelativeLayout>
</ScrollView>