Android draw a Horizontal line between views

I have My Layout like below:

<?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" >


<TextView
android:id="@+id/textView1"
style="@style/behindMenuItemLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="Twitter Feeds"
android:textStyle="bold" />


<ListView
android:id="@+id/list"
android:layout_width="350dp"
android:layout_height="50dp" />


<TextView
android:id="@+id/textView1"
style="@style/behindMenuItemLabel1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:text="FaceBook Feeds" />


<ListView
android:id="@+id/list1"
android:layout_width="350dp"
android:layout_height="50dp" />


</LinearLayout>

My Requirement is to draw a Horizontal line between TextView and ListView

Could anyone help?

211377 次浏览

add something like this in your layout between the views you want to separate:

  <View
android:id="@+id/SplitLine_hor1"
android:layout_width="match_parent"
android:layout_height= "2dp"
android:background="@color/gray" />

希望对你有所帮助:)

您可以指定其背景颜色的视图可以做到(高度 = 几个 dpi)。 用真正的代码查了一下,就是这个:

        <LinearLayout
android:id="@+id/lineA"
android:layout_width="fill_parent"
android:layout_height="2dp"
android:background="#000000" />

注意,它可能是任何类型的 View

它将画银灰色线之间的 TextViewListView

<TextView
android:id="@+id/textView1"
style="@style/behindMenuItemLabel1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:text="FaceBook Feeds" />


<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="#c0c0c0"/>


<ListView
android:id="@+id/list1"
android:layout_width="350dp"
android:layout_height="50dp" />
<View
android:id="@+id/view"
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="#000000" />

在需要在组件之间分割的每个父 LinearLayout中,添加 android:divider="?android:dividerHorizontal"android:divider="?android:dividerVertical

Choose appropriate between them as per orientation of your LinearLayout.

直到我知道,这个资源样式是从 Android 4.3中添加的。

您应该使用新的轻量级视图 Space来绘制分隔符。 如果您将使用 Space而不是 View,您的布局将加载更快。

水平分隔栏:

<android.support.v4.widget.Space
android:layout_height="1dp"
android:layout_width="match_parent" />

垂直分隔器:

<android.support.v4.widget.Space
android:layout_height="match_parent"
android:layout_width="1dp" />

You can also add a background:

<android.support.v4.widget.Space
android:layout_height="match_parent"
android:layout_width="1dp"
android:background="?android:attr/listDivider"/>

Usage example:

....
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="One"/>


<android.support.v4.widget.Space
android:layout_height="match_parent"
android:layout_width="1dp"
android:background="?android:attr/listDivider"/>


<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Two"/>


<android.support.v4.widget.Space
android:layout_height="match_parent"
android:layout_width="1dp"
android:background="?android:attr/listDivider"/>


<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Three"/>
....

In order to use Space you should add the dependency in your build.gradle:

dependencies {
compile 'com.android.support:support-v4:22.1.+'
}

Documentation https://developer.android.com/reference/android/support/v4/widget/Space.html

You can put this view between your views to imitate the line

<View
android:layout_width="fill_parent"
android:layout_height="2dp"
android:background="#c0c0c0"/>

试试这个

<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="?android:attr/listDivider"/>

试试这个

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

如果您不想仅仅为下划线使用额外的视图,请在 textView上添加此样式。

style="?android:listSeparatorTextViewStyle"

不利的一面是它会增加额外的属性,如

android:textStyle="bold"
android:textAllCaps="true"

你可以轻易地覆盖它。

—— > 简单的一个

 <TextView
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#c0c0c0"
android:id="@+id/your_id"
android:layout_marginTop="160dp" />

Try this works for me

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

创建一次并在需要的地方使用它是一个好主意。 在 styles.xml 中添加以下内容:

<style name="Divider">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">1dp</item>
<item name="android:background">?android:attr/listDivider</item>
</style>

并将其添加到 xml 代码中,其中需要一个行分隔符:

<View style="@style/Divider"/>

对于这个问题,最初的回答是 toddles _ fp: Android 绘图分隔符/分隔线布局? ?

创建水平线

如果您正在使用 TextView,然后您想放置一行,那么请使用 View 这样你就可以使用任何颜色比如蓝色、红色或者黑色提到背景颜色。

 <View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/black"></view>

enter image description here

which work for me is

    <view
android:layout_below="@+id/kaimla_number"
android:layout_width="match_parent"
android:layout_height="3dp"
android:background="@color/golden"></view>

 <view
android:id="@+id/blackLine"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#000000"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"/>

App: lay _ straintStart _ toStartOf = “ father”/>

多年以后,终于有了一个合适的视图,可以在 XML 布局上显示分隔符/分隔符/水平线。开发 Android 材料组件的团队已经发布了1.5.0-alpha01版本,它添加了 MaterialDivider类。如前所述,这允许向布局添加分隔符。

首先,在 build.gradle 中添加以下内容:

implementation 'com.google.android.material:material:1.5.0-alpha01'

然后,在 XML 布局上你可以写:

<com.google.android.material.divider.MaterialDivider
android:layout_width="match_parent"
android:layout_height="wrap_content"/>

瞧,你有个分隔器。如果希望自定义分隔符的颜色,则有一个 xml 属性: app:dividerColor。此视图还允许通过样式进行主题化。更多的信息,你可以检查这个 链接

An improvement of the accepted answer by 布米卡for a more polished look:

<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/black"
android:alpha="0.1"/>

android:alpha用于设置视图的不透明度。