2011-06-28 31 views
0

我有點困惑,不知道如何解決這個樣式問題。我有一個ListView元素,包含2個圖像和3個TextView(用XML創建)。Android XML:ListView元素比例

圖像應圍繞TextViews並應顯示在每個分辨率和每個方向。只要我超過TextViews的當前長度,右側的圖像就會從顯示屏中出來(用QVGA測試)。

任何想法如何解決我的問題?

<TableLayout 
    android:id="@+id/tableLayout_ScrollviewEntry" 
    android:layout_width="wrap_content" 
    android:stretchColumns="1" android:layout_height="fill_parent"> 
    <View 
    android:layout_width="fill_parent" 
    android:layout_height="1dip" 
    android:background="#cccccc" /> 
     <TableRow 
      android:layout_height="wrap_content" 
      android:id="@+id/MainRow" 
      android:layout_width="wrap_content"> 
      <ImageView 
       android:src="@drawable/favs_action" 
       android:layout_height="wrap_content" 
       android:layout_width="match_parent" 
       android:id="@+id/image1"> 
      </ImageView> 

      <TableLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" android:id="@+id/InnerTextTable"> 

       <TableRow 
        android:id="@+id/InnerRow0" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 
        <TextView 
        android:textColor="#4444dd" 
         android:scrollHorizontally="false" 
         android:layout_height="wrap_content" 
         android:textAppearance="?android:attr/textAppearanceLarge" 
         android:id="@+id/textView1" 
         android:editable="false" 
         android:layout_width="match_parent" 
         android:hapticFeedbackEnabled="false" 
         android:text="xxxxxxxx Special xxxxx"> 
        </TextView> 
       </TableRow> 

       <TableLayout 
        android:id="@+id/InnerRow1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 
        <TextView 
        android:textColor="#000000" 
         android:id="@+id/textView2" 
         android:text="xxxxx xxxx xxx x xxxxxxxx" 
         android:layout_height="wrap_content" 
         android:textAppearance="?android:attr/textAppearanceMedium" 
         android:layout_width="wrap_content"></TextView> 

       </TableLayout> 
       <TableRow 
        android:id="@+id/InnerRow2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"> 

        <TextView 
        android:textColor="#888888" 
         android:text="xxxxx xxxxxxxxxx" 
         android:layout_height="wrap_content" 
         android:textAppearance="?android:attr/textAppearanceSmall" 
         android:id="@+id/textView3" 
         android:layout_width="wrap_content"></TextView> 
       </TableRow> 
      </TableLayout> 
      <ImageView 
       android:src="@drawable/image2" 
       android:layout_height="wrap_content" 
       android:layout_width="wrap_content" 
       android:id="@+id/image1" android:layout_gravity="left"> 
      </ImageView> 
     </TableRow> 
    <View 
    android:layout_width="fill_parent" 
    android:layout_height="1dip" 
    android:background="#cccccc" /> 
    </TableLayout>  
</LinearLayout> 
+0

你嘗試使用相對佈局...? – Vinay

+0

我的想法是創建一個垂直LinearLayout在中間顯示兩個圖像和一個TableLayout以顯示3個Textviews,以便Textviews可以在必要時進行wordwrap。而不是文本獲取widther並踢出正確的圖像。只是嘗試了relativelayout並且它也是如此 – TheMenace

+0

如果您需要將邊緣和textview上的圖像對齊以最大程度地展開,我建議您應該使用相對佈局。如果您願意,可以在線性佈局內嵌入相關佈局 – Vinay

回答

0

相對佈局將是您的問題的最佳解決方案...你可以把你的圖像在任何一方和他們之間的三個文本。對於更長的文本,您可以使用textView的ellipsize屬性。