studio solid fondos android android-layout android-drawable xml-drawable

solid - Borde de la forma de Android con degradado



gradients android background (3)

Esto creará un diseño con el borde superior de 2dp. Solo configúralo como fondo para tu diseño

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <gradient android:startColor="#4fc949" android:centerColor="#0c87c5" android:endColor="#b4ec51" android:angle="180" /> </shape> </item> <item android:top="2dp"> <shape android:shape="rectangle"> <solid android:color="@color/background_color"/> </shape> </item> </layer-list>

Quiero crear un borde para un linearLayout. Así que decido crear una forma. Quiero que el borde tenga un gradiente. Lo siguiente no lo está haciendo. Llena el rectángulo y luego crea un trazo. No quiero un rectángulo relleno, solo el trazo. Y quiero aplicar el gradiente al trazo.

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <gradient android:angle="360" android:centerColor="#e95a22" android:endColor="#ff00b5" android:gradientRadius="360" android:startColor="#006386" android:type="sweep" /> <stroke android:width="2dp" android:color="#ff207d94" /> </shape>


prueba algo como esto:

<?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle" > <gradient android:angle="360" android:centerColor="#e95a22" android:endColor="#ff00b5" android:gradientRadius="360" android:startColor="#006386" android:type="sweep" /> <stroke android:width="2dp" android:color="#ff207d94" /> </shape> </item> <item android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="2dp"> <shape android:shape="rectangle" > <solid android:color="#fff" /> </shape> </item> </layer-list>


ya que la respuesta aceptada no funcionó exactamente como quería que funcionara para mí, también publicaré mi solución, tal vez ayude a alguien más :)

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <!-- create gradient you want to use with the angle you want to use --> <shape android:shape="rectangle" > <gradient android:angle="0" android:centerColor="@android:color/holo_blue_bright" android:endColor="@android:color/holo_red_light" android:startColor="@android:color/holo_green_light" /> </shape> </item> <!-- create the stroke for top, left, bottom and right with the dp you want --> <item android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="2dp"> <shape android:shape="rectangle" > <!-- fill the inside in the color you want (could also be a gradient again if you want to, just change solid to gradient and enter angle, start, maybe center, and end color) --> <solid android:color="#fff" /> </shape> </item> </layer-list>