Android tracer une ligne horizontale entre les vues

j'ai ma disposition comme ci-dessous:

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

mon exigence est de tracer une ligne horizontale entre TextView et ListView

"

Quelqu'un peut-il aider?

73
demandé sur Charuක 2013-10-01 15:45:43

13 réponses

il dessinera ligne gris argent de couleur entre TextView & ListView

<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="fill_parent"
    android:layout_height="2dp"
    android:background="#c0c0c0"/>

<ListView
    android:id="@+id/list1"
    android:layout_width="350dp"
    android:layout_height="50dp" />
213
répondu Bhoomika Brahmbhatt 2017-09-12 06:32:56

vous devez utiliser la nouvelle vue légère Space pour tirer des diviseurs. Votre mise en page se chargera plus rapidement si vous utilisez Space au lieu de View .



Diviseur Horizontal:

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

diviseur Vertical:

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

vous pouvez aussi ajouter un fond:

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

exemple d'utilisation:

....
<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"/>
....

pour utiliser Space vous devez ajouter la dépendance dans votre construction .Grad :

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

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

18
répondu vovahost 2015-05-26 15:42:14

ajoutez quelque chose comme ça dans votre mise en page entre les vues que vous voulez séparer:

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

Espère que cela aide :)

16
répondu zozelfelfo 2014-06-18 11:25:26

Essayez cette

<View
    android:layout_width="match_parent"
    android:layout_height="2dp"
    android:background="?android:attr/listDivider"/>
7
répondu Xar-e-ahmer Khan 2015-08-31 13:20:33

La créer une fois et l'utiliser là où c'est nécessaire est une bonne idée. Ajoutez ceci dans vos 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>

et ajoutez ceci dans votre code xml, où un diviseur de ligne est nécessaire:

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

initialement répondu par toddles_fp pour cette question: ligne de séparation de dessin/diviseur Android dans la mise en page?

7
répondu onexf 2017-12-06 12:02:31
<View
       android:id="@+id/view"
       android:layout_width="match_parent"
       android:layout_height="2dp"
       android:background="#000000" />
3
répondu Jitesh Dalsaniya 2013-10-01 11:55:36

dans chaque parent LinearLayout pour lequel vous voulez des diviseurs entre les composants, ajouter android:divider="?android:dividerHorizontal" ou android:divider="?android:dividerVertical .

Choisissez entre eux l'orientation de votre LinearLayout .

Jusqu'à ce que je sache, ce style de ressource est ajouté à partir D'Android 4.3.

1
répondu Ravi Bhatt 2013-10-01 12:32:01

vous pouvez mettre cette vue entre vos vues pour imiter la ligne

<View
  android:layout_width="fill_parent"
  android:layout_height="2dp"
  android:background="#c0c0c0"/>
1
répondu Karan Datwani 2015-08-10 14:09:46

Essayez cette

<View
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="@android:color/darker_gray"/>
1
répondu Mostafa Hassan 2015-11-30 12:58:32

Essayer cela fonctionne pour moi

 <View
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:background="@color/tw_composer />
1
répondu Hiren Patel 2016-07-01 11:41:41

une vue dont vous pouvez spécifier la couleur de fond ferait (hauteur=quelques dpi).

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

notez qu'il peut s'agir de toute sorte de View .

0
répondu 18446744073709551615 2013-10-01 11:48:49

----> Simple

 <TextView
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="#c0c0c0"
    android:id="@+id/your_id"
    android:layout_marginTop="160dp" />
0
répondu shreedhar bhat 2016-02-09 11:47:18

Si vous ne voulez pas utiliser une vue juste de souligne. Ajoutez ce style sur votre textView .

style="?android:listSeparatorTextViewStyle"

juste en bas c'est qu'il va ajouter des propriétés supplémentaires comme

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

que vous pouvez facilement remplacer.

0
répondu deepankar 2016-12-30 14:49:25