Je souhaite ajouter l'icône d'appel sur le Button mais drawableTop ne fonctionne pas.
<LinearLayout android:layout_width="match_parent" android:layout_height="60dp"> <Button android:id="@+id/imageView3" android:layout_width="wrap_content" android:drawableTop="@android:drawable/ic_menu_call" android:layout_height="match_parent" android:layout_weight="1" /> </LinearLayout>
4 Réponses :
Ajoutez une orientation à votre LinearLayout
, décidez si vous souhaitez définir android: layout_weight
lors de la configuration de android: layout_width = "wrap_content"
et < code> android: layout_height = "match_parent" et définissez le texte sur votre bouton.
Vous pouvez également définir l'icône dans drawableStart comme suit:
<Button android:id="@+id/imageView3" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/black_overlay" android:drawableStart="@drawable/ic_menu_call" android:padding="15dp" android:text="Click here" android:textStyle="bold" />
Le remplissage, le style du texte et la couleur d'arrière-plan sont uniquement destinés à la décoration. p>
Remplacez votre Button
par AppCompatButton
<LinearLayout android:layout_width="match_parent" android:layout_height="60dp"> <android.support.v7.widget.AppCompatButton android:id="@+id/imageView3" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_weight="1" android:drawableTop="@android:drawable/ic_menu_call"/> </LinearLayout>
utilisez-vous une nouvelle bibliothèque de matériaux à la place de la bibliothèque de support?
J'utilise com.android.support:design:28.0.0
lorsque vous utilisez androidx avec la bibliothèque Material Ui au lieu de la bibliothèque de support
<androidx.appcompat.widget.AppCompatButton android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:drawableTop="@android:drawable/ic_menu_camera" android:text="Camera" />
, vous devrez utiliser
implementation 'com.google.android.material:material:1.0.0'
Connaissez-vous la raison pour laquelle nous devons utiliser drawableTop au lieu de icon?
et aussi en utilisant votre même code, je peux voir
drawableTop
En fait, j'utilise android: drawableLeft et cela ne fonctionne pas non plus.
Y a-t-il un cas où la couleur de teinte de votre dessin est la même que la couleur d'arrière-plan?
utilisez-vous par hasard une nouvelle bibliothèque de matériaux au lieu d'une bibliothèque de support de conception?