J'essaie de créer une disposition linéaire personnalisée comme ci-dessous
J'essaie de ne courber qu'un seul côté. Essayé avec un rayon de coin mais il ne donne pas le même aspect que ci-dessus.
J'ai déjà essayé cette forme de fond comme ci-dessous: -
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<solid Android:color="#3F51B5" />
<padding
Android:bottom="7dp"
Android:left="7dp"
Android:right="7dp"
Android:top="7dp" />
<corners
Android:bottomLeftRadius="50dp"
Android:bottomRightRadius="50dp"
Android:topLeftRadius="0dp"
Android:topRightRadius="0dp" />
</shape>
il arrondit uniquement les coins et en augmentant la valeur, la forme n'est pas conservée, elle devient trop circulaire. JE VEUX une ligne COURBE et des coins non arrondis
C'est déjà très tard, mais c'est pour les futurs chercheurs. Je pense que vector drawables sont la solution la plus parfaite pour cela. Utilisez le vecteur ci-dessous comme arrière-plan pour obtenir une disposition incurvée inférieure de forme personnalisée.
<vector xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:width="24dp"
Android:height="24dp"
Android:viewportHeight="100.0"
Android:viewportWidth="200.0">
<path
Android:fillColor="#YOUR_FAVORITE_COLOR"
Android:pathData="M200,0H0v4.5h0v75.8h0c17.8,10.2 56,17.2 100.5,17.2c44.5,0 81.6,-7 99.5,-17.2h0V4.5h0V0z" />
Créez un fichier de forme dans un dossier dessinable, par exemple: my_shape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<corners
Android:bottomLeftRadius="100dp"
Android:bottomRightRadius="100dp"
Android:topLeftRadius="0dp"
Android:topRightRadius="0dp" />
<padding
Android:bottom="0dp"
Android:left="0dp"
Android:right="0dp"
Android:top="0dp" />
<stroke
Android:width="0.5dp"
Android:color="@color/theme_red" />
<solid Android:color="@color/white" />
</shape>
puis ajoutez cette forme dans votre mise en page en arrière-plan. par exemple:
<LinearLayout
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="@drawable/my_shape"
Android:orientation="horizontal">
</LinearLayout>
ce que j'ai fait est de créer un _ allowaccess_button_normal.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item>
<shape Android:shape="oval">
<solid Android:color="@color/colorPrimary"/>
</shape>
</item>
</selector>
Essayez la disposition ci-dessous
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:background="#fefefe"
Android:layout_height="match_parent">
<RelativeLayout
Android:layout_width="match_parent"
Android:background="@color/colorPrimary"
Android:layout_height="110dp">
</RelativeLayout>
<ImageView
Android:layout_marginTop="85dp"
Android:src="@drawable/allowaccess_button_normal"
Android:layout_width="match_parent"
Android:layout_height="50dp" />
</RelativeLayout>
<layer-lisxmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:top="175dp">
<shape Android:shape="oval">
<gradient
Android:angle="135"
Android:startColor="#f56f2c"
Android:endColor="#fa9f46"/>
</shape>
</item>
<item Android:bottom="40dp">
<shape Android:shape="rectangle">
<gradient
Android:angle="135"
Android:startColor="#f56f2c"
Android:endColor="#fa9f46"/>
</shape>
</item>
</layer-list>
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item>
<shape Android:shape="rectangle">
</shape>
</item>
<item
Android:bottom="0dp"
Android:left="-100dp"
Android:right="-100dp"
Android:top="-80dp">
<shape Android:shape="oval">
<solid Android:color="@color/colorAccent">
</solid>
</shape>
</item>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="200dp"
Android:background="@drawable/shape_curve"
Android:orientation="horizontal"/>
vous pouvez définir la dimension dans la valeur -dimension.xml fime, puis la définir dans votre xml de votre mise en page linéaire, elle donnera ce qui suit comme ceci
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="rectangle">
<solid
Android:color="#FFFF00" />
<padding Android:left="7dp"
Android:top="7dp"
Android:right="7dp"
Android:bottom="7dp" />
créez simplement un fichier xml dans votre ensemble dessinable, le besoin de dimensio u, puis appelez-le par votre disposition linéaire