2011-07-26 77 views
0

這是靜態的XML,我有:UI的一些奇怪的行爲?

<LinearLayout 
    android:id="@+id/LinearLayout" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 

    <RelativeLayout 
     android:id="@+id/Header" 
     android:layout_width="fill_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1.5" 
     android:background="@drawable/header_bg" 
     android:padding="0dp" 
     > 

     <ImageView 
      android:id="@+id/hLogo" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:src="@drawable/logo" 
      /> 

     <TextView 
      android:id="@+id/hActiveCategory" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:text="Today" 
      android:textSize="18sp" 
      android:textColor="#FFFFFF" 
      /> 

     <Button 
      android:id="@+id/hRefreshButton" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:drawableRight="@drawable/refresh" 
      android:layout_alignParentRight="true" 
      android:padding="0dp" 
      /> 

    </RelativeLayout> 

</LinearLayout> 

這是怎麼回事? - 當我試圖對準按鈕ID = hRefreshButton其父權(的RelativeLayoutID =頭)還有按鈕和綁定的屏幕的右側之間的空間。爲什麼發生這種情況?有什麼建議麼?另外我必須強調我正在AVD仿真器上進行測試。

回答

1

您的按鈕相對於父級(相對佈局)右對齊,但由於默認背景,您可能會在按鈕右側看到一些空間。

嘗試設置某個圖像的背景或設置背景顏色,你會看到自己。

Shash

+0

我試過了,但它不起作用。另外我不認爲這是問題,爲什麼我這麼認爲 - 如果你說的是真的,那麼相對佈局在屏幕右邊界和右邊界之間應該有相同的空間。我看到問題出在哪裏,但不知道如何解決它,它在** Button **中,因爲當我說'android:background =「@ drawable/refresh」'時,沒有這樣的空間剩下。 UI組件** Button **有一些默認屬性,這會導致它。 – nenito

+0

默認背景是這樣的。既然你已經給了包裝內容,你會得到邊界類效果。基本上默認的背景是按鈕圖片+透明填充。將背景設置爲#00000000,你不會看到填充 – Shash316

+0

好吧,如果它是真的,爲什麼我沒有在按鈕頂部得到這個透明填充(實際上問題應該是 - 爲什麼它不在按鈕周圍)以及它只是在它的左邊。 – nenito