2012-06-25 73 views
6

我有一個ImageViewTextView。我想將TextView放置在圖像視圖下方,但TextView的中間與ImageView(沿着水平軸)的中間對齊。如果TextView中的文字變爲更大或更小的文字,文字的中間始終需要保持與ImageView的中間對齊。這可能在xmlAndroid:在一個元素下面和另一箇中間對齊

+1

中間中間中間。 –

+1

我認爲這被稱爲中間拼圖! –

回答

6

是的,你只是希望包含在垂直LinearLayout具有android:gravity設置爲center_horizontal兩個元素。

像這樣:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center_horizontal" 
    android:orientation="vertical" 
    ... > 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     ... /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     ... /> 

</LinearLayout> 

由於TextView的寬度是wrap_content,並設置其重力不應該是必要的。我會這樣做只是爲了安全(另外,我也可以將寬度設置爲match_parent)。

+0

這是令人尷尬的,因爲我已經在代碼的另一個地方做到了這一點。不管怎麼說,還是要謝謝你。 – AndroidDev

+0

那麼,它適用於你的目的?如果是解決方案,請考慮將其標記爲正確,以便其他人也可以找到它。 – Eric

+0

你不能馬上標記。你必須等待幾分鐘。耐心。我幾乎總是標記他們。 – AndroidDev

0

set TextViewandroid:layout_width="fill_parent" and set android:gravity="center" in TextView

我認爲這對你有幫助。

感謝

0

您可以使用RealtiveLayout的如下..

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center_horizontal" 
    android:orientation="vertical" 
    ... > 

    <ImageView 
     android:id="@+id/imageView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     ... /> 

    <TextView 
     android:layout_below="@+id/imageView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     /> 

</RelativeLayout> 

如果你希望你的TextView是單行的只有以下屬性添加到TextView的

機器人:ellipsezed =「結束」 機器人:單線=「真」

使用給定的佈局,並把它添加到您的任何現有佈局的你造成你想找..

希望這個解釋對你有用..

相關問題