2010-05-03 6 views
16

je le code suivant:Forme Android Ligne

<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 noir blanc à la place? 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?

Répondre

21

1) Pour 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 color values with an alpha layer, alias #ARGB. Dans votre cas, peut-être # 7FFF.

+0

Vous voulez dire # 07FFFFFF. – Vaiden

+0

@Vaiden Android prend en charge ARGB à 4 chiffres. Dans ce cas, il sera interprété comme # 77FFFFFF. –

8

L'exemple le plus simple de la ligne pour les pixels de 2 densités avec la couleur noire. Il suffit d'enregistrer le fichier XML dans le dossier drawable: 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 arrière-plan pour montrer 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é.

+3

Ne serait-il pas moins consommateur de mémoire si nous utilisions '' au lieu de LinearLayout? –

+0

Oui, vous pouvez l'utiliser. Comme chaque classe est élargie –

Questions connexes