2013-10-12 86 views
2

我想在RelativeLayout中使用alignTop屬性,以設置一個文本右側的個人資料圖片 - 對齊圖片的頂部。Android的RelativeLayout alignTop不工作

這是我的佈局:

<?xml version="1.0" encoding="utf-8"?> 
<!-- Home fragment layout --> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res/com.coapps.pico" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/background_dark_green" 
    android:orientation="vertical" > 

    <!-- title layout --> 

    <RelativeLayout 
     android:id="@+id/relativeLayout1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/background_fragment_title" > 

     <!-- profile picture --> 

     <ImageView 
      android:id="@+id/fragment_home_profile_picture" 
      android:layout_width="100dp" 
      android:layout_height="100dp" 
      android:layout_centerVertical="true" 
      android:layout_marginLeft="10dp" 
      android:background="@drawable/background_profile_picture" 
      android:contentDescription="@string/app_name" 
      android:scaleType="fitXY" 
      android:src="@drawable/test_pic" /> 

     <!-- user name --> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignTop="@+id/fragment_home_profile_picture" 
      android:layout_marginLeft="10dp" 
      android:layout_toRightOf="@+id/fragment_home_profile_picture" 
      android:gravity="top" 
      android:text="Roi Mozer" 
      android:textColor="@android:color/white" 
      android:textSize="30sp"/> 

    </RelativeLayout> 

</RelativeLayout> 

這是它的外觀在預覽(和手機一樣的):

正如你可以看到中心對準畫面的頂部的名稱 - 不知道爲什麼.. enter image description here

我該如何設置它們都在同一行?

UPDATE: 當我改變了佈局的高度,以給定的高度(不包內容),它的工作...

+0

爲什麼你需要2個相對佈局? – Raghunandan

+0

我將需要在未來..這是我的佈局設計只是一個開始...... –

+0

@AsafNevo:你嘗試過'機器人:layout_alignParentTop =「真」'在這兩種觀點,而不是'機器人:layout_alignTop =「@ + id/fragment_home_profile_picture「'在TextView中? –

回答

2

問題可能出在您的圖片或背景中。我用另一幅圖像進行了測試,兩者都沿着頂部對齊。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res/com.coapps.pico" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 

android:orientation="vertical" > 

<!-- title layout --> 

<RelativeLayout 
    android:id="@+id/relativeLayout1" 
    android:layout_width="wrap_content" 
    android:layout_height="200dp" 
    android:background="@drawable/background_fragment_title" 
    > 

    <!-- profile picture --> 

    <ImageView 
     android:id="@+id/fragment_home_profile_picture" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:layout_centerVertical="true" 
     android:layout_marginLeft="10dp" 
     android:src="@drawable/falcao_large" 
     android:contentDescription="@string/app_name" 
     android:scaleType="fitXY" 
     /> 

    <!-- user name --> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignTop="@+id/fragment_home_profile_picture" 
     android:layout_marginLeft="10dp" 
     android:layout_toRightOf="@+id/fragment_home_profile_picture" 
     android:gravity="top" 
     android:textColor="@android:color/white" 
     android:text="Roi Mozer" 

     android:textSize="30sp"/> 

</RelativeLayout> 

enter image description here

我認爲問題是圖像背景。文本對齊到背景頂部

+0

butvyou測試它對齊頂部。我需要圖片爲垂直中心,文本與圖片頂部對齊 –

+0

如果您的意思是屏幕中心垂直。移動機器人':layout_centerVertical =「真」''從到fragment_home_profile_picture''relativeLayout1' – ramaral

+0

你不明白我..你可以再次閱讀我qustion - 你會明白我的彪.. –

0

在這裏你去

添加填充到TextView的,

+2

這是最簡單的方法,但錯誤的方法(至少我的理解)..你的方式不會在每個屏幕分辨率工作。 –

+0

但它可以在大多數屏幕上使用。多數民衆贊成在我的知識最好的解決方案:)歡呼 –

+0

我會用它,如果沒有alignTop屬性,歡呼隊友:) –

相關問題