Je suis en train d'ajouter des coins arrondis à AlertDialog
, mais je ne comprends pas la logique du fichier de forme ( ce qui ne fonctionne pas). Je l' utilise comme arrière - plan dans le RelativeLayout
du AlertDialog
, mais il semble qu'elle est ignorée. Ceci est le fichier de forme:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/transparent"/>
<corners android:radius="10dp" />
<padding android:left="10dp" android:right="10dp"/>
</shape>
Ceci est le code XML de dialogue d'alerte:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/dialog_rl"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
tools:context=".UserList"
android:background="@drawable/shape_dialog">
<TextView
android:id="@+id/dialog_titile"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Scegli un'operazione"
android:textAlignment="center"
android:padding="5dp"
android:textColor="@android:color/black"
android:background="#D3D3D3"
android:textSize="26dp" />
<TextView
android:id="@+id/dialog_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Vuoi aprire o eliminare il test?"
android:textAlignment="center"
android:padding="15dp"
android:textSize="26dp"
android:layout_marginLeft="80dp"
android:background="@android:color/white"
android:textColor="@android:color/black"
android:layout_below="@id/dialog_titile" />
<Button
android:id="@+id/dialog_neutral_btn"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text="Indietro"
android:layout_below="@id/dialog_tv"
android:textColor="@android:color/black"
android:background="@drawable/button_bg_3" />
<Button
android:id="@+id/dialog_positive_btn"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:text="Apri"
android:layout_alignBaseline="@id/dialog_neutral_btn"
android:layout_alignParentRight="true"
android:background="@drawable/button_bg_3"
android:layout_marginRight="20dp"/>
<Button
android:id="@+id/dialog_negative_btn"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:textColor="@android:color/black"
android:text="Elimina"
android:layout_toLeftOf="@id/dialog_positive_btn"
android:layout_alignBaseline="@id/dialog_neutral_btn"
android:background="@drawable/button_bg_3"
android:layout_marginRight="10dp" />
</RelativeLayout>
Et voici le résultat Qu'est-ce que je manque?
J'ai vérifié votre forme et il semble bon sur mon téléphone, je l'ai cette forme qui fonctionne de la même manière + ont gradiant:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="-90"
android:centerColor="#F2F2F2"
android:endColor="#ADA996"
android:startColor="#DBDBDB" />
<stroke
android:width="2dp"
android:color="#000000" />
<corners android:radius="8dp" />
<padding
android:bottom="4dp"
android:left="4dp"
android:right="4dp"
android:top="4dp" />
</shape>
Essayez d'utiliser la forme ci-dessus, s'il va essayer de ne pas fonctionner de toute façon d'utiliser votre forme sur un seul bouton - si vous voyez votre forme fonctionne correctement, vous saurez que votre problème vient de votre fichier de mise en page.
Et peut - être tout ce que vous devez faire
Invalidate Caches/Restart
, il est possible que vous n'avez pas des erreurs mais votre application utilise ancienne forme provenant de la cache