TextView两侧的水平线

时间:2014-03-18 21:08:58

标签: android android-layout

无法找到一种方法,让一个居中的TextView在两侧都有垂直居中的水平线,拉伸到屏幕的左右两端。如下图所示。

That's what I'm talking about

任何见解都会有所帮助!

3 个答案:

答案 0 :(得分:5)

最终提出了这个完全符合要求的解决方案

    <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="24dp"
            >

        <View
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:background="@color/light_grey"
                android:layout_gravity="center_vertical"/>

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/add_heading_description"
                android:textSize="@dimen/add_headings"
                android:textColor="@color/dark_grey"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:layout_gravity="center"
                android:background="@color/white"
                />

    </FrameLayout>

答案 1 :(得分:2)

我对接受的答案有疑问,所以分享我的方式:

 <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="0dp"
            android:orientation="horizontal">

            <View
                android:layout_width="40dp"
                android:layout_height="1dp"
                android:background="@color/secondary_text"
                android:layout_gravity="center_vertical"
                android:layout_weight="1"/>

            <Button
                android:layout_width="20dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@null"
                android:text="@string/Or"
                android:clickable="false"
                android:textColor="@color/secondary_text" />

            <View
                android:layout_width="40dp"
                android:layout_height="1dp"
                android:background="@color/secondary_text"
                android:layout_gravity="center_vertical"
                android:layout_weight="1"/>

        </LinearLayout>

enter image description here

答案 2 :(得分:-1)

我就是这样做的,看起来和我想要的完全一样。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_marginRight="24dp"
    android:layout_marginLeft="24dp"
    android:layout_marginTop="8dp">

    <View
        android:layout_gravity="center_vertical"
        android:layout_width="0dp"
        android:layout_height="1dp"
        android:layout_weight="1"
        android:background="#FFF" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="or"
        android:textColor="#FFF"
        android:paddingLeft="16dp"
        android:paddingRight="16dp" />
    <View
        android:layout_gravity="center_vertical"
        android:layout_width="0dp"
        android:layout_height="1dp"
        android:layout_weight="1"
        android:background="#FFF" />
</LinearLayout>