如何在中间的android中放置带有文本的元素之间的分隔线?

Posted

技术标签:

【中文标题】如何在中间的android中放置带有文本的元素之间的分隔线?【英文标题】:how to put divider line between elements with text in the middle android? 【发布时间】:2015-05-30 07:29:48 【问题描述】:

我正在尝试设计我的 android 应用程序,因此我需要在中间创建一个带有文本的分隔线。 我使用此代码 XML 来创建分隔线:

   <View
    style="?android:attr/listSeparatorTextViewStyle"
    android:layout_
    android:layout_
    android:layout_below="@+id/login_button"
    android:layout_marginTop="20dp"
    android:background="@android:color/white"
/>

但我不知道如何将文本放在中间。

像这样:------- 文字 ------- 但一条连贯的线

【问题讨论】:

您能否更好地解释一下自己,或者发布一个指向显示所需结果的图片的链接? 你的意思是要在两个文本之间添加分隔符? 我的意思是: ----- 文本 ----- 您可以为您的 TextView 使用 9 个补丁背景,以实现该结果。或将您的 TextView 覆盖在“行”视图之上。 这适用于不同尺寸***.com/a/30413493/2428524 【参考方案1】:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:orientation="horizontal" >

<TextView
    android:layout_
    android:layout_
    android:background="@android:color/transparent"
    android:text="-----------------------------"
    android:textColor="#ffff00" />

<TextView
    android:id="@+id/but_book_now"
    android:layout_
    android:layout_
   android:background="@android:color/transparent"
    android:text="This is button"
    android:textColor="#ffff00" />

<TextView
    android:layout_
    android:layout_
    android:background="@android:color/transparent"
    android:text="-----------------------------"
    android:textColor="#ffff00" />

【讨论】:

【参考方案2】:

为了将来的参考,这里有一个简单的解决方案,它可以适当地调整到父级的宽度,并显示一条连续的分隔线。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_
                android:layout_>

    <View android:layout_
          android:layout_
          android:layout_centerVertical="true"
          android:layout_marginStart="40dp"
          android:layout_marginEnd="8dp"
          android:layout_toStartOf="@id/sep_text"
          android:background="@android:color/black"/>

    <TextView android:id="@+id/sep_text"
              android:layout_
              android:layout_
              android:layout_centerInParent="true"
              android:text="misc"/>

    <View android:layout_
          android:layout_
          android:layout_centerVertical="true"
          android:layout_marginStart="8dp"
          android:layout_marginEnd="40dp"
          android:layout_toEndOf="@id/sep_text"
          android:background="@android:color/black"/>

</RelativeLayout>

可以通过sep_text id 访问文本。 高度已固定为40dp,但可以更改为wrap_content

【讨论】:

以上是关于如何在中间的android中放置带有文本的元素之间的分隔线?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 rmarkdown 在 PDF 中放置表格或更精确地格式化标题文本?

如何在窗口小部件中放置多个字体

在 Android 的 FrameLayout 中放置视图

在 SwiftUI 的按钮中放置背景图像和文本/图标?

如何在 React Native 的 TextInput 中放置一个图标?

如何在Tableview的三列中放置文本