Android:将文本视图之间的垂直分隔线/分隔线放在嵌套在垂直线性布局中的水平线性布局中?

时间:2012-10-10 10:23:31

标签: android android-layout android-linearlayout android-view textview

对于Android内容视图,我有一个垂直linearlayout,其中一些textviews有一些分隔和分隔垂直元素的行,这个工作正常,xml在下面。

    <?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"/>,但会显示相同的结果。

有没有办法在这里有一个垂直分隔符,其中保留高度,引入垂直线来分隔文本视图?或者我必须选择不同的布局吗?

2 个答案:

答案 0 :(得分:3)

另一个选项可能是包含android:layout_margin(或单独的layout_marginToplayout_marginBottom),以在绘制的垂直线的顶部和底部以及相应的水平边缘之间创建一个空格。 LinearLayout.

除此之外,我可以尝试RelativeLayout,并调整垂直线视图,使其顶部和底部与相邻的TextViews.之一对齐

答案 1 :(得分:1)

您必须为 LinearLayout 垂直分隔符

提供修复高度