studio paletas gradientes fondos degradado colores color android android-imageview android-drawable

android - paletas - Añadir degradado a la vista de imagen



paletas de colores android studio (5)

Necesitas dos capas: una ImageView , y una View encima de eso con tu gradiente como android:background . Coloque estas dos View en un FrameLayout :

<FrameLayout ... > <ImageView ... android:src="@drawable/trend_donald_sterling" /> <View ... android:background="@drawable/trending_gradient_shape"/> </FrameLayout>

Quiero añadir un degradado en la parte inferior de mi imagen. Algo como esto :

Intenté algo como esto pero solo obtengo el gradiente sin imagen ...

<ImageView android:id="@+id/trendingImageView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/trend_donald_sterling" android:src="@drawable/trending_gradient_shape" />

trending_gradient_shape:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <gradient android:angle="90" android:endColor="@android:color/darker_gray" android:startColor="@android:color/darker_gray" /> <corners android:radius="0dp" /> </shape>


Simplemente establece el valor alfa en tu gardient.xml:

Tu imagen:

android:background="@drawable/trend_donald_sterling" android:src="@drawable/trending_gradient_shape"

Su archivo xml gradiente:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <gradient android:angle="90" android:endColor="#00ffffff" android:startColor="#aa000000" android:centerColor="#00ffffff" /> <corners android:radius="0dp" /> </shape>

En el valor de color, los dos primeros lugares después de # corresponden al valor alfa, mientras que el resto son el valor de color real en formato RGB, dos para cada uno.


Use android:foreground="..." lugar de android:background="..."

¡Ahora no tendrá que colocar ImageView y View dentro de un FrameLayout!

Entonces tu código final será:

ImageView

<ImageView ... android:background="@drawable/trend_donald_sterling"/>

Dibujable

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <gradient android:angle="90" android:endColor="#00ffffff" android:startColor="#aa000000" android:centerColor="#00ffffff" /> <corners android:radius="0dp" /> </shape>


así es como voy a hacer, usé el diseño relativo como mi diseño principal, use el siguiente código

<RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:src="@drawable/img_sample"/> <View android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/gradiant"/> <LinearLayout android:layout_marginLeft="10dp" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:weightSum="1"> <View android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="0.55"/> <TextView android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="0.25" android:text="Events" android:gravity="bottom" android:textStyle="bold" android:textSize="18sp" android:textColor="#ffffff"/> <TextView android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="0.25" android:text="Some description about the events goes here" android:textSize="14sp" android:textColor="#ffffff"/> </LinearLayout> </RelativeLayout>

Espero que puedan averiguarlo, aquí adjunto mi código gradiant a continuación. Utilícelo dentro de la carpeta dibujable ...

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <gradient android:angle="90" android:endColor="#00ffffff" android:startColor="#aa000000" android:centerColor="#00ffffff" /> <corners android:radius="0dp" /> </shape>


intente usar el atributo "primer plano" en su vista de imagen

<ImageView ... android:src="@drawable/trend_donald_sterling" android:foreground="@drawable/trending_gradient_shape" />

funciono para mi