2013-02-02 19 views
4

我需要把一個文本視圖中的ImageView中間的中間一個TextView,所以我有這樣的代碼插入在imageview的Android的

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/row_background" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" > 

<TextView 
    android:id="@+id/menu_label" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:lines="1" /> 

<ImageView 
    android:id="@+id/menu_icon" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:layout_centerInParent="true" 
    android:layout_marginBottom="@dimen/menu_icon_margin_top_bottom" 
    android:layout_marginRight="@dimen/menu_icon_margin_right" 
    android:layout_marginTop="@dimen/menu_icon_margin_top_bottom" /> 

<TextView 
    android:id="@+id/notif_number" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@id/menu_icon" 
    android:layout_alignLeft="@id/menu_icon" 
    android:layout_alignRight="@id/menu_icon" 
    android:layout_alignTop="@id/menu_icon" 
    android:lines="1" 
    android:text="69" 
    android:textColor="@android:color/white" /> 

,我需要最後的TextView是總是在menu_icon ImageView的中心,但我的方法不起作用,它只是把它放在左上角。

+2

只需在您的textview中添加'android:gravity =「center」'。 –

回答

15

隨着你的ImageView不填充所有的RelativeLayout你不能達到desireable效果。我建議你把ImageView和TextView放在FrameLayout中。

<FrameLayout 
    android:layout_width = "wrap_content" 
    android:layout_height = "wrap_content" 
    android:layout_alignParentRight="true" 
    android:layout_centerInParent="true"> 

<TextView 
    android:id="@+id/menu_label" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:lines="1" /> 

<ImageView 
    android:id="@+id/menu_icon" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:layout_marginBottom="@dimen/menu_icon_margin_top_bottom" 
    android:layout_marginRight="@dimen/menu_icon_margin_right" 
    android:layout_marginTop="@dimen/menu_icon_margin_top_bottom" /> 
</FrameLayout> 
+0

謝謝,這非常有幫助。我總是會忘記FrameLayout。 – Lev

1

你只需要添加:

android:layout_centerInParent="true" 

到你最後的TextView