Hay muchos tutoriales y preguntas sobre SO que implementan barras de título personalizadas. Sin embargo, en mi barra de título personalizada tengo un degradado personalizado para el fondo y me gustaría saber cómo configurarlo dinámicamente en mi código.¿Cómo configuro programáticamente el degradado de color de fondo en una barra de título personalizada?
Aquí es donde mi barra de título personalizado se llama:
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.foo_layout);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_bar);
y este es mi custom_title_bar
:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@layout/custom_title_bar_background_colors">
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/title_bar_logo"
android:gravity="center_horizontal"
android:paddingTop="0dip"/>
</LinearLayout>
Como se puede ver, el fondo de la disposición lineal se define por este chico :
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#616261"
android:endColor="#131313"
android:angle="270"
/>
<corners android:radius="0dp" />
</shape>
Lo que me gustaría hacer es establecer dinámicamente esos colores degradados en mi código No quiero codificarlos en mi archivo XML como lo hacen actualmente.
Estoy abierto a todas las ideas, si usted tiene una mejor forma de establecer un gradiente de fondo.
gracias de antemano !!
Gracias por la punta. ¿Se puede hacer esto para un widget? Tengo un widget que tiene una forma de degradado y quiero cambiar el color de este degradado. ¿Es esto posible en el caso de los widgets? – Majjoodi
impresionante !!! ... gracias ..es realmente funciona de forma dinámica ... –
@slund ¿hay alguna manera de originar el gradiente del centro? en lugar de usar 'GradientDrawable.Orientation.TOP_BOTTOM?' –