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?
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" />
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
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 :)
Essayez cette
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="?android:attr/listDivider"/>
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?
<View
android:id="@+id/view"
android:layout_width="match_parent"
android:layout_height="2dp"
android:background="#000000" />
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.
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"/>
Essayez cette
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/darker_gray"/>
Essayer cela fonctionne pour moi
<View
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@color/tw_composer />
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
.
----> Simple
<TextView
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#c0c0c0"
android:id="@+id/your_id"
android:layout_marginTop="160dp" />
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.