2010-08-10 12 views
6

En mi aplicación de Android he ocultado la barra de título predeterminada, introduje un TabView y agregué mi propia barra de título debajo de las pestañas de TabView. Por el momento, estoy usando el estilo? Android: attr/windowTitleStyle que hace que mi nueva barra de título se vea gris y de gradiente. Se ve bastante bien, pero mis pantallas se ven bastante en escala de grises. Me gustaría darle más sabor a las cosas haciendo que esta barra de título tenga un degradado de color diferente.Gradient styles

¿Qué estoy mirando aquí? ¿Creando mi propia imagen y usándola? El estilo? Android: attr/windowTitleStyle parece expandirse según el alto de la barra de título personalizada; así que no estoy seguro de que sea una sola imagen.

He intentado lanzar un LinearLayout sobre él con un poco de translucidez (por ejemplo, haciendo el color # 800000FF), pero el estilo de gradiente que tengo detrás de este LinearLayout desaparece.

Gracias por su ayuda

Actualización:

por mi respuesta abajo, he descubierto que puedo crear un archivo XML que define un gradiente y usar eso. Funciona bien dentro de LinearLayout (titlebar_gradient) que tengo en mi diseño. Sin embargo, no está funcionando en el LinearLayout más externo (background_gradient). ¿Podría alguien decirme por qué? Según lo entiendo, el ListView debe ser transparente ...

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@drawable/background_gradient" 
> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="47dip" 
    android:background="@drawable/titlebar_gradient" 
    android:gravity="center"> 
    <TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" 
    android:text="Item" 
    style="?android:attr/windowTitleStyle" 
    android:paddingLeft="5dip" 
    android:maxLines="1" 
    android:ellipsize="end" /> 
</LinearLayout> 
    <ListView 
    android:id="@+id/android:list" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:paddingTop="10dip" 
    android:clickable="false" 
    /> 
<TextView 
    android:id="@+id/android:empty" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    /> 
</LinearLayout> 

Respuesta

9

Entiendo mi problema ahora.

He creado un archivo XML en la carpeta de mi dibujables que tiene este aspecto

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="rectangle"> 
     <gradient 
     android:startColor="#00CC66" 
     android:endColor="#009966" 
     android:angle="270"/> 
    /shape> 

En mi barra de herramientas, me puse los antecedentes de este estirable.

+0

Desafortunadamente esto no es trabajo para el fondo de toda mi diseño :( – Andrew

Cuestiones relacionadas