web-dev-qa-db-fra.com

Ligne de forme Android

J'ai le code suivant:

   <shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
   Android:shape="line">
   <stroke Android:width="1dp"/>
   <size Android:height="1dp" />
   <solid  Android:color="#FFF"/>
   </shape>


   <LinearLayout
     Android:layout_width="fill_parent"
     Android:layout_height="wrap_content"
     Android:background ="@drawable/line"/>

J'ai deux questions:

  1. Pourquoi la ligne est noire au lieu de blanc? J'ai essayé de le mettre dans un ImageView mais le résultat est le même.
  2. Comment puis-je définir l'opacité de la forme?
17
xger86x

1) Afin de définir la couleur de la ligne, vous devez définir Android:color sur le <stroke>. L'élément <solid> est pour l'arrière-plan.

2) Vous pouvez définir l'opacité de la forme en utilisant les valeurs de couleur avec un calque alpha , aussi appelé #ARGB. Dans votre cas, peut-être # 7FFF.

22
Daniel Lew

L'exemple le plus simple de la ligne pour 2 pixels de densité avec une couleur noire. Enregistrez le fichier xml dans un dossier pouvant être dessiné: res/drawable/shape_black_line.xml

<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="line">
<stroke 
    Android:width="1dp" 
    Android:color="#000000" />
<size Android:height="2dp" />
</shape>

Utilisez LinearLayout et background pour afficher la ligne.

<LinearLayout
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content" 
            Android:background="@drawable/divider">
</LinearLayout>

J'espère que cela a aidé.

10
Hemant Shori

Une façon délicate peut être la suivante:

1) Ajoutez une vue où vous voulez avoir une ligne.

2) définissez Android:background sur une valeur hexadécimale permettant de définir la couleur et l'opacité.

Par exemple:

<View
    Android:layout_width="match_parent"
    Android:layout_height="6dp"
    Android:background="#77f27123"
    Android:orientation="vertical" />
0
Kaaveh Mohamedi