J'essaye de créer un ImageButton comme celui-ci
cependant, je n'arrive pas à trouver un moyen de le faire en utilisant uniquement xml. J'ai essayé des bibliothèques personnalisées, elles ne semblent pas fonctionner parfaitement. n'y a-t-il pas d'autre moyen? que puis-je faire au lieu d'utiliser ImageButton?
3 Réponses :
Voici un code xml.
1.Créez un fichier xml dans votre dossier pouvant être dessiné comme button.xml et collez le balisage suivant:
<Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:textColor="#ffffff" android:background="@drawable/mybutton" android:text="Buttons" />
2.Maintenant utilisez ce dessinable pour l'arrière-plan de votre vue. Si la vue est un bouton, alors quelque chose comme ceci:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" > <shape android:shape="rectangle" > <corners android:radius="3dp" /> <stroke android:width="1dp" android:color="#5e7974" /> <gradient android:angle="-90" android:startColor="#345953" android:endColor="#689a92" /> </shape> </item> <item android:state_focused="true"> <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#5e7974" /> <solid android:color="#58857e"/> </shape> </item> <item > <shape android:shape="rectangle" > <corners android:radius="3dip" /> <stroke android:width="1dip" android:color="#5e7974" /> <gradient android:angle="-90" android:startColor="#8dbab3" android:endColor="#58857e" /> </shape> </item> </selector>
Crédits à cette réponse
Mais mon exigence est d'ajouter une image en arrière-plan, comment puis-je faire cela?
Vous pouvez utiliser ImageButton pour remplacer le Button
Créez un fichier XML à l'intérieur de drawable.
android:background="@drawable/buttonShape"
, puis à l'intérieur de votre imageButton ou autre.
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="28dp" /> <solid android:color="#00BADE" /> </shape>
p>
Vous pouvez utiliser la vue carte avec le rayon du coin de la carte
<android.support.v7.widget.CardView android:layout_width="match_parent" android:layout_height="wrap_content" app:cardCornerRadius="4dp"/>
Et ajouter le bouton image dans la vue carte
@Shashank Shetty, vous pouvez essayer ceci.
il y a beaucoup de texte sur ce bouton. Je pense que vous devriez utiliser une mise en page et placer toutes les vues à l'intérieur, puis définir son arrière-plan sur celui avec des coins arrondis, et y ajouter un écouteur de clic
Eh bien, je ne veux pas exactement cela, je veux qu'une image ait cette forme. J'aurai des informations codées en dur directement sur l'image en utilisant Photoshop.
Donc, si l'équilibre change, vous avez un autre texte codé en dur sur l'image? Qu'est-ce qui vous fait penser que Photoshop et Image est la réponse?