0

我在屏幕上连续显示了 3 个值,我需要在它们之间添加 2-3 条垂直分隔线。问题是每次我在它们之间添加视图/分隔线时,它们向左或向右移动太多和一些值切断/消失。我想知道是否有办法解决它,下面是我的 xml 代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:foo="http://schemas.android.com/apk/res/com.justin.abc"
    android:layout_width="20dp"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:paddingBottom="8dp"
    android:paddingLeft="20dp"
    android:paddingTop="8dp" >

    <LinearLayout
        android:id="@+id/layout1"
        android:layout_width="2dp"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <com.justin.abc.utils.FontView
                android:id="@+id/symbol"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingRight="3dp"
                android:textColor="@color/white"
                android:textSize="12sp"
                foo:customFont="Roboto-Bold.ttf" />

            <com.justin.abc.utils.FontView
                android:id="@+id/arrow"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="14sp"
                foo:customFont="Roboto-Bold.ttf" />
        </LinearLayout>

        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/value1_back"
                style="@style/abc.TextView.ListsTextView.Header"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:padding="3dp"/>

            <com.justin.abc.utils.FontView
                android:id="@+id/change"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="15sp"
                foo:customFont="Roboto-Bold.ttf" />
        </FrameLayout>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/layout2"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <com.justin.abc.utils.FontView
                android:id="@+id/symbol2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingRight="3dp"
                android:textColor="@color/white"
                android:textSize="12sp"
                foo:customFont="Roboto-Bold.ttf" />

            <com.justin.abc.utils.FontView
                android:id="@+id/dashboard_markets_arrow2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="14sp"
                foo:customFont="Roboto-Bold.ttf" />
        </LinearLayout>

        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/value2_back"
                style="@style/abc.TextView.ListsTextView.Header"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:padding="3dp"/>

            <com.justin.abc.utils.FontView
                android:id="@+id/change2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="15sp"
                foo:customFont="Roboto-Bold.ttf" />
        </FrameLayout>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/layout3"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <com.justin.abc.utils.FontView
                android:id="@+id/dashboard_markets_symbol3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingRight="3dp"
                android:textColor="@color/white"
                android:textSize="12sp"
                foo:customFont="Roboto-Bold.ttf" />

            <com.justin.abc.utils.FontView
                android:id="@+id/dashboard_markets_arrow3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="14sp"
                foo:customFont="Roboto-Bold.ttf" />
        </LinearLayout>

        <FrameLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/value3_back"
                style="@style/abc.TextView.ListsTextView.Header"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:padding="3dp"/>

            <com.justin.abc.utils.FontView
                android:id="@+id/change3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="15sp"
                foo:customFont="Roboto-Bold.ttf" />
        </FrameLayout>
    </LinearLayout>

</LinearLayout>

我是否需要在背景中添加一个图层或其他东西以支持相同的内容,或者我是否需要更改此结构?谢谢!贾斯汀 我已经附上了相同的图像

即使添加 android:gravity="center" 我仍然看到相同的结果

4

2 回答 2

0

将其放在您在问题中提到的每个值之间。

<View android:layout_height="fill_parent" android:layout_width="2px" android:background="#000000"/>

应该在值之间给你一个黑条。

于 2013-07-11T15:34:16.330 回答
0

layout1正如@Gru 所说,您可以使用andlayout2 layout2and之间的 View 获得黑线layout3

正如您所指出的,这将位于layout2and内容的左边缘layout3。为了将其分开,一个简单的解决方案是添加以下行:

android:paddingLeft="20dp"

layout1,layout2layout3, 同时从顶部移除它LinearLayout。这不会实现精确的居中,但它会为每个块的左边缘提供相同的文本,我认为这看起来是正确的。

于 2013-07-11T20:19:35.403 回答