2011-07-29 62 views
1

因此,可以將一個視圖的頂部,底部,左側和右側與另一個視圖對齊,以便它們的邊緣彼此齊平。不過,我一直在想,是否可以對齊不同大小的兩個視圖的中心。當我將一個ImageView與一個TextView並排放置時,就會發生這種情況:[ImageView] [TextView]。 ImageView比TextView高一些,所以我所做的是將填充/邊距添加到TextView的底部以使其對齊,並且看起來像ImageView和TextView水平中心是對齊的。問題是,當這個視圖顯示在較大的平板電腦屏幕上時,填充和邊距無法正常工作,TextView看起來與ImageView不一致。我確信有一個簡單的解決方案可以讓這個總是能夠解決問題,所以有人能給我提供一些見解嗎?謝謝!對齊中心相對於其他

回答

0

這是我如何做一個列表視圖行:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#FFFFFF" 
    android:padding="5dp" 
    android:gravity="center_vertical"> 
    <TextView android:id="@+id/questionItemTitle" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:textSize="20sp" 
    android:textColor="#000000" 
    android:gravity="center_vertical"/> 
    <ImageView android:id="@+id/questionViewed" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/eye" 
    android:layout_marginLeft="5dp" /> 
    <ImageView android:id="@+id/questionAnswered" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/check" 
    android:layout_marginLeft="5dp" /> 
</LinearLayout> 
+0

只是不得不修補它,但我認爲'center_vertical'得到它的工作。謝謝! – Brian

+0

是的,android:gravity = center_vertical對於LinearLayout和TextView都應該有所斬獲。 – sanna

0

使用weightSum而不是驟降或P-XS填充,這將使你的佈局看起來很好無論用戶的設備的大小。

或者你也可以使用重力。

或者您可以創建第二個xml文件並將其插入res/xlarge文件,手機將選擇要讀取哪個xml。