2012-11-07 97 views
0

你好我有一個ViewFlipper可以在2個視圖之間翻轉,一個視圖是一個ImageView,一個是TextView。圖像和文本的大小取決於我從服務器中檢索的內容。我希望TextView始終具有與ImageView相同的高度尺寸,以便在翻轉圖像視圖時,即使文本視圖關聯的文本很少(如果有很多文本如果TextView的高度超過imageview,我想要做一個ellipsize =「end」)。下面是我用我的佈局代碼:在ViewFlipper中對齊視圖

<ViewFlipper 
    android:id="@+id/flipperZoneMediumLeft" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 

    <ImageView 
     android:id="@+id/imgZonePic" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:src="@drawable/stock_service1" 
     android:background="@android:color/black" 
     android:scaleType="center" /> 

    <TextView 
     android:id="@+id/txtZoneNameFlipperLeft" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:ellipsize="end" 
     android:gravity="center" 
     android:text="This is a description" 
     android:background="@android:color/black" 
     android:textColor="@android:color/white" /> 
</ViewFlipper> 

我覺得有一個簡單的解決這個問題,但我竭力在這條路上太長時間。任何幫助解決我的問題將不勝感激。

謝謝。

回答

0

ImageViewTextView包含在LinearLayout中,因此您可以對它們應用權重。將它們的高度設置爲0dp,併爲它們分配一個layout_weight爲1.這樣它們將始終具有相同的高度。就像這樣:

<ViewFlipper 
    android:id="@+id/flipperZoneMediumLeft" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" > 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" > 

      <ImageView 
       android:id="@+id/imgZonePic" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:background="@android:color/black" 
       android:scaleType="center" 
       android:src="@drawable/stock_service1" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" > 

      <TextView 
       android:id="@+id/txtZoneNameFlipperLeft" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:background="@android:color/black" 
       android:ellipsize="end" 
       android:gravity="center" 
       android:text="This is a description" 
       android:textColor="@android:color/white" /> 
     </LinearLayout> 
    </LinearLayout> 

</ViewFlipper> 
+0

你需要用每個視圖在它自己的'LinearLayout'否則你剛剛結束了一個孩子'ViewFlipper'用'ImageView'和'TextView'中,只有'LinearLayout中具有相等的高度'。 – Luksprog

+0

@Luksprog啊對不起忘了。我將編輯答案 – Ahmad

+0

這很遺憾並沒有解決我的問題,viewflipper不需要有兩個子視圖使用上面的佈局正常工作只需將我的textview下面的imageview – pkramaric