Question Séparateur de dessin Android / ligne de séparation dans la mise en page?


Je voudrais tracer une ligne juste au milieu d'une mise en page et l'utiliser comme un séparateur d'autres éléments comme TextView. Y at-il un bon widget pour cela. Je ne veux pas vraiment utiliser une image car il serait difficile de faire correspondre les autres composants. Et je veux qu'il soit relativement bien positionné. Merci


685
2018-02-19 08:59


origine


Réponses:


J'utilise habituellement ce code pour ajouter une ligne horizontale:

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

Pour ajouter un séparateur vertical, basculez layout_width et layout_height valeurs


1479
2018-04-23 14:11



Pour améliorer les réponses fournies par Alex Kucherenko et Dan Dar3

J'ai ajouté ceci à mes styles:

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

Ensuite, dans mes mises en page est moins de code et plus simple à lire.

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

521
2018-01-26 02:05



Ajoutez ceci dans votre disposition où vous voulez le diviseur (modifiez les attributs pour adapter votre besoin):

<ImageView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@android:drawable/divider_horizontal_dark"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:scaleType="fitXY"
    android:paddingLeft="5dp"
    android:paddingRight="5dp"
    android:paddingBottom="2dp"
    android:paddingTop="2dp" />

129
2018-05-04 14:47



Vous pouvez l'utiliser dans LinearLayout :

android:divider="?android:dividerHorizontal"
android:showDividers="middle"

Par exemple:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:divider="?android:dividerHorizontal"
    android:showDividers="middle"
    android:orientation="vertical" >            

        <TextView 
         android:layout_height="wrap_content"
         android:layout_width="wrap_content"
         android:text="abcd gttff hthjj ssrt guj"/>

        <TextView 
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="abcd"/>
        <TextView 
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="abcd gttff hthjj ssrt guj"/>

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

</LinearLayout>

75
2018-05-28 05:17



<TextView
    android:id="@+id/line"
    style="?android:attr/listSeparatorTextViewStyle"
    android:paddingTop="5dip"
    android:gravity="center_horizontal"
    android:layout_below="@+id/connect_help"
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="#000" />

51
2018-02-06 12:25



utilise ce code. Ça aidera

<LinearLayout
    android:layout_width="0dip"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:layout_weight="1"
    android:divider="?android:dividerHorizontal"
    android:gravity="center"
    android:orientation="vertical"
    android:showDividers="middle" >

45
2018-04-04 04:59



si vous utilisez actionBarSherlock, vous pouvez utiliser le com.actionbarsherlock.internal.widget.IcsLinearLayout classe afin de soutenir les diviseurs et de les montrer entre les vues.

exemple d'utilisation:

<com.actionbarsherlock.internal.widget.IcsLinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:divider="@drawable/divider"
    android:dividerPadding="10dp"
    android:orientation="vertical"
    android:showDividers="beginning|middle|end" >
... children...

res / drawable / divider.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <size android:height="2dip" />

    <solid android:color="#FFff0000" />

</shape>

Notez que pour une raison quelconque, l'aperçu dans le concepteur graphique indique "android.graphics.bitmap_delegate.nativeRecycle (I) Z". pas sûr de ce que cela signifie, mais il peut être ignoré car il fonctionne très bien sur les deux nouvelles versions d'android et les anciens (testé sur Android 4.2 et 2.3).

semble que l'erreur est seulement montrée en employant API17 pour le concepteur graphique.


14
2018-06-13 07:49