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>
Ma condition est de tracer une ligne horizontale entre TextView
etListView
Quelqu'un pourrait-il aider?
Réponses:
Il dessinera une ligne de couleur gris argenté entre
TextView
&ListView
la source
Vous devez utiliser la nouvelle vue légère
Space
pour dessiner des séparateurs. Votre mise en page se chargera plus rapidement si vous utilisez à laSpace
place deView
.Séparateur horizontal:
Diviseur vertical:
Vous pouvez également ajouter un arrière-plan:
Exemple d'utilisation:
Pour l'utiliser,
Space
vous devez ajouter la dépendance dans votre build.gradle :Documentation https://developer.android.com/reference/android/support/v4/widget/Space.html
la source
Space
va être décevante carSpace
ne dessine rien (pas même un arrière-plan). Son seul travail est de prendre de la place sur l'écran. La solution est d'utiliser unView
élément vanille à la place. Ensuite, l'arrière-plan sera dessiné comme vous le souhaitez. (Vous pouvez également éviter la dépendance de la bibliothèque de support si ce n'est pas nécessaire.)Space
hérite deView
et donc hérite de tous les attributs définis parView
. (De même,LinearLayout
hérite de l'textAlignment
attribut même s'il n'affiche lui-même aucun texte.) N'hésitez pas à le tester par vous-même (ou regardez simplement le code source) et vous constaterez que aSpace
ignore tous les attributs liés au dessin.Space
ne dessine pas de fond, c'est transparent.ajoutez quelque chose comme ceci dans votre mise en page entre les vues que vous souhaitez séparer:
J'espère que ça aide :)
la source
Le créer une fois et l'utiliser là où c'est nécessaire est une bonne idée. Ajoutez ceci dans votre styles.xml:
et ajoutez ceci dans votre code xml, où un séparateur de ligne est nécessaire:
À l'origine répondu par toddles_fp à cette question: Android Drawing Separator / Divider Line in Layout?
la source
Essaye ça
la source
la source
Vous pouvez mettre cette vue entre vos vues pour imiter la ligne
la source
Essayez cela fonctionne pour moi
la source
Dans chaque parent
LinearLayout
pour lequel vous souhaitez des séparateurs entre les composants, ajoutezandroid:divider="?android:dividerHorizontal"
ouandroid:divider="?android:dividerVertical
.Choisissez entre eux selon l'orientation de votre
LinearLayout
.Jusqu'à ce que je sache, ce style de ressource est ajouté à partir d'Android 4.3.
la source
Essaye ça
la source
Une vue dont vous pouvez spécifier la couleur de fond ferait l'affaire (hauteur = quelques dpi). Regardé dans le vrai code et le voici:
Notez qu'il peut s'agir de n'importe quel type de fichier
View
.la source
----> Simple
la source
Si vous ne souhaitez pas utiliser une vue supplémentaire uniquement pour les soulignements. Ajoutez ce style à votre
textView
.Le seul inconvénient est qu'il ajoutera des propriétés supplémentaires telles que
que vous pouvez facilement remplacer.
la source