web-dev-qa-db-fra.com

Android trace une ligne horizontale entre les vues

J'ai ma mise en page 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 pourrait-il aider?

92
String

Il va tracer une ligne gris argenté 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="match_parent"
    Android:layout_height="2dp"
    Android:background="#c0c0c0"/>

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

Vous devez utiliser la nouvelle vue légère Space pour dessiner des diviseurs. Votre mise en page se chargera plus rapidement si vous utiliserez 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 également ajouter un arrière-plan:

<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 build.gradle :

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

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

21
vovahost

ajoutez quelque chose comme ceci dans votre mise en page entre les vues que vous souhaitez séparer:

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

J'espère que ça aide :)

19
zozelfelfo

La créer une fois et l'utiliser partout où c'est nécessaire est une bonne idée. Ajoutez ceci dans votre 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 séparateur de ligne est nécessaire:

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

Toddles_fp a répondu à cette question à l'origine: séparateur de dessins Android/ligne de séparation dans la mise en page?

11
onexf

Essayez ceci

<View
    Android:layout_width="match_parent"
    Android:layout_height="2dp"
    Android:background="?android:attr/listDivider"/>
8
Xar-e-ahmer Khan
<View
       Android:id="@+id/view"
       Android:layout_width="match_parent"
       Android:layout_height="2dp"
       Android:background="#000000" />
5
Jitesh Dalsaniya

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"/>
2
Karan Datwani

Essayez ceci

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

Essayez cela fonctionne pour moi

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

Dans chaque parent LinearLayout pour lequel vous souhaitez des séparateurs entre les composants, ajoutez Android:divider="?android:dividerHorizontal" ou Android:divider="?android:dividerVertical.

Choisissez entre eux selon l’orientation de votre LinearLayout.

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

1
Ravi Bhatt

Si vous ne souhaitez pas utiliser une vue supplémentaire uniquement pour les soulignés. Ajoutez ce style sur votre textView.

style="?android:listSeparatorTextViewStyle"

Juste en dessous, cela va ajouter des propriétés supplémentaires comme

Android:textStyle="bold"
Android:textAllCaps="true"

que vous pouvez facilement remplacer.

0
deepankar

Une vue dont la couleur de fond que vous pouvez spécifier conviendrait (hauteur = quelques dpi). Regardé dans le code réel et le voici:

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

Notez qu'il peut s'agir de n'importe quel type de View.

0

----> Simple

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