2012-01-03 100 views
6

我的佈局有ImageView(iv)和TextView(tv)。 我想讓電視正確的四。 電視的高度與iv相同。 將電視重力設置爲CENTER_VERTICAL。如何讓ImageView和TextView的高度相同

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/RelativeLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 


    <ImageView 
     android:id="@+id/iv" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true"/> 


    <TextView 
     android:id="@+id/tv" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_toRightOf="@+id/iv" 
     android:text="TextView" android:gravity="center_vertical"/> 

</RelativeLayout> 

如何到達目標?

+1

你能使用的LinearLayout而不是RelativeLayout,那麼你可以使用layout_weight參數作爲1 ImageView和TextView – 2012-01-03 09:00:08

+0

你將如何獲得相同的高度這兩個小部件? textview的高度取決於文字大小。我們只能並肩而行,我們不能保證高度一樣。 – 2012-01-03 09:11:32

回答

20

喜試試這個.....

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/RelativeLayout1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <ImageView 
    android:id="@+id/iv" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:src="@drawable/ic_title_home_demo" /> 

    <TextView 
    android:id="@+id/tv" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/iv" 
    android:layout_alignTop="@+id/iv" 
    android:layout_toRightOf="@+id/iv" 
    android:gravity="center_vertical" 
    android:text="TextView" /> 

    </RelativeLayout> 
1

那麼爲了讓它垂直居中正確,您需要從TextView標記中刪除android:layout_alignParentTop="true"行。

但是,聽起來好像您可能會嘗試將文本更改爲適合ImageView的整個高度的大小。這顯然不會解決這個問題,但我不會推薦這樣做,因爲這可能會導致一些奇怪的觀點。

1

可以通過使用

機器人使用不同的尺寸:layout_width = 「WRAP_CONTENT」

和/或

機器人:高度= 「300dp」

(高度相同)。同時檢查邊距和填充。

如果您需要更動態的,你可能會考慮機器人:layout_weight即你讓2個按鈕具有相同的寬度,並填寫父視圖的橫向空間,你會設置:

機器人:layout_height =」 wrap_content「

android_layout:weight =」0.5「。

您可以點擊此鏈接:How to make two different layout to have same height?

4

你必須TextView的屬性設置爲android:layout_alignTop="@id/iv"android:layout_alignBottom="@id/iv"

相關問題