propiedades example custom create android drawable shape

android - example - La forma del semicírculo no funciona



propiedades shape android (4)

No puedes crear un semicírculo a partir de xml. pero puede lograr lo que busca utilizando un círculo con el margen y el relleno adecuados.

Puedes usar un archivo .xml con forma de círculo. Crea un círculo de tamaño fijo como este:

Ejemplo:

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" android:useLevel="false" > <solid android:color="#006AC5" /> <size android:height="50dp" android:width="50dp" /> </shape>

Intento crear un fondo de medio círculo, en el development IDE preview funciona, pero cuando lo inicio en el emulador no funciona.

Aquí está mi código de forma:

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:height="50dp"> <shape> <solid android:color="@color/colorAccentDark" /> </shape> </item> <item android:top="-500dp" android:bottom="0dp" android:left="-100dp" android:right="-100dp"> <shape> <corners android:radius="500dp" /> <solid android:color="@color/colorAccentDark" /> </shape> </item> </layer-list>

Y aquí está mi código de diseño:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/background_profile" android:layout_weight="1"> <de.hdodenhof.circleimageview.CircleImageView android:id="@+id/profile_avatar" android:layout_width="100dp" android:layout_height="100dp" android:src="@drawable/ic_default_avatar" android:layout_centerHorizontal="true" android:layout_marginTop="50dp"/> <TextView android:id="@+id/profile_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_below="@id/profile_avatar" android:layout_marginTop="20dp" android:textColor="@color/neutralWhite" android:textStyle="bold" android:textSize="18sp" android:text="Avatar Ang"/> </RelativeLayout> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="4.04"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello Android!"/> </RelativeLayout> </LinearLayout>

Tal vez cualquier otro pellizco para manejar eso? Gracias


Prueba esto. Elimine la parte del degradado y se verá igual que usted desea.

<item> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#00B0EA" /> </shape> </item> <item android:bottom="400dp" android:left="-100dp" android:right="-100dp" android:top="-200dp"> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <gradient android:angle="90" android:endColor="#65FFFFFF" android:startColor="#65FFFFFF" /> </shape> </item> <item android:bottom="402dp" android:left="-100dp" android:right="-100dp" android:top="-280dp"> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#FFFFFF" /> </shape> </item>


curve_toolbar_bg.xml

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"/> </item> <item android:bottom="0dp" android:left="-100dp" android:right="-100dp" android:top="-80dp"> <shape android:shape="oval"> <solid android:color="@color/colorPrimary" /> </shape> </item> </layer-list>

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="0dp" android:layout_height="?android:attr/actionBarSize" android:background="@drawable/rounded_corner" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.0"> </android.support.v7.widget.Toolbar> </android.support.constraint.ConstraintLayout>


puedes probar esto

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#900021df"/> <size android:width="10dp" android:height="5dp"/> <corners android:bottomLeftRadius="20dp" android:bottomRightRadius="20dp"/> </shape>

le da esta forma: