2010-05-03 11 views
16

tengo el siguiente código:Android Línea Forma

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

Tengo dos preguntas:

  1. Por qué la línea está en su lugar en blanco y negro? He intentado ponerlo dentro de un ImageView pero el resultado es el mismo.
  2. ¿Cómo puedo establecer la opacidad de la forma?

Respuesta

21

1) Con el fin de establecer el color de la línea, es necesario definir android:color en el <stroke>. El elemento <solid> es para el fondo.

2) Puede establecer la opacidad de la forma utilizando color values with an alpha layer, también conocido como #ARGB. En tu caso, tal vez # 7FFF.

+0

Quiere decir # 07FFFFFF. – Vaiden

+0

@Vaiden Android es compatible con ARGB de 4 dígitos. En ese caso, se interpretará como # 77FFFFFF. –

8

El ejemplo más simple de la línea para píxeles de 2 densidades con color negro. Sólo tiene que guardar el código XML en la carpeta dibujable: res/estirable/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> 

Uso LinearLayout y el fondo para mostrar la línea.

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

Espero que haya sido de ayuda.

+3

¿No consumiría menos memoria si usáramos '' en lugar de LinearLayout? –

+0

Sí, puede usarlo. Como todas las clases están fuera de la vista –

Cuestiones relacionadas