3

對於android內容視圖,我有一些垂直線性佈局,其中包含一些textviews,用於劃分和分隔垂直元素,此工作正常,xml位於下方。Android:在垂直線性佈局中嵌入水平線性佈局的文本視圖之間放置垂直分隔線/分隔線?

<?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:orientation="vertical" > 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" > 
     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:text="@string/A" />     
     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:text="@string/B" /> 
     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:text="@string/C" />  
    </LinearLayout>  
    <View 
     android:background="#ffffff" 
     android:layout_width = "fill_parent" 
     android:layout_height="1dip"/>  
    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/D" /> 
    <View 
     android:background="#ffffff" 
     android:layout_width = "fill_parent" 
     android:layout_height="1dip" /> 
    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/E" /> 
    </LinearLayout> 

現在我想在嵌套文本視圖中的水平放置的文本視圖與字符串A/B/C之間添加垂直分隔線。當我嘗試通過添加硬編碼的寬度視圖來實現時,該線橫跨來自父線性佈局的整個高度。

<?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:orientation="vertical" > 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" > 
     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:text="@string/A" />   
     <!--the vertical line separator--> 
     <View 
    android:background="#ffffff" 
    android:layout_width = "1dip" 
    android:layout_height="fill_parent" />   
     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:text="@string/B" /> 
     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:text="@string/C" />  
    </LinearLayout>  
    <View 
     android:background="#ffffff" 
     android:layout_width = "fill_parent" 
     android:layout_height="1dip"/>  
    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/D" /> 
    <View 
     android:background="#ffffff" 
     android:layout_width = "fill_parent" 
     android:layout_height="1dip" /> 
    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/E" /> 
    </LinearLayout> 

對於該垂直分離器視圖我曾嘗試使用android:layout_height="wrap_content"/>代替,但同樣的結果被呈現。

有沒有辦法在這裏有一個垂直分隔符,其中的高度保存,並引入一個垂直線來分隔textviews?或者我必須選擇不同的佈局?

+0

爲什麼不使用「match_parent」作爲高度屬性? – Guardanis

回答

1

你必須給一個固定高度要麼你的LinearLayout或您的垂直分隔符

+0

是的,這是一種解決方案,但它不適用於更改文字大小。我希望有一個更優雅的解決方案。我把20dip,並且是有效的。但是我擔心硬編碼高度可能會導致以後出現問題。 – Vass

3

另一種選擇可能是包括機器人:layout_margin(或單獨layout_marginTop和layout_marginBottom)創建頂部之間的空間以及繪製的垂直線的底部和線性佈局的相應水平邊緣。

除此之外,我可能會嘗試一個RelativeLayout,並調整垂直線視圖以將其頂部和底部與其中一個相鄰的TextView對齊。