2017-08-01 5 views
-1

Je ne peux pas afficher l'ombre de conception matérielle sous n'importe quel composant de ma mise en page, je ne peux pas comprendre pourquoi.Android ImageButton dans la conception matérielle ne montre aucune ombre

Android minimum sdk est 21, <style name="AppTheme" parent="android:Theme.Material.Light">, et si par exemple j'ajoute un FabButton son ombre fonctionne correctement en fonction de son paramètre d'élévation. Mais pas pour mon ImageButton ou tout autre composant.

Sa mise en page est:

<ImageButton 
    android:id="@+id/btnMain" 
    android:layout_width="match_parent" 
    android:layout_height="100dp" 
    android:layout_alignParentStart="true" 
    android:layout_below="@+id/txtTitle" 
    android:adjustViewBounds="true" 
    android:background="@null" 
    android:contentDescription="@string/btnMain_description" 
    android:elevation="10dp" 
    android:padding="10dp" 
    android:scaleType="centerInside" 
    android:src="@drawable/btn_yellow" 
    app:srcCompat="@android:color/holo_red_light" 
    android:layout_marginLeft="10dp" 
    android:layout_marginRight="10dp" 
    android:layout_marginTop="10dp" /> 

The result with no shadow

J'ai aussi déjà essayé de définir un arrière-plan différent de celui @null, rien ne change, pas d'ombre. Que se passe-t-il? De quelle façon mon ombre d'élévation est-elle sur les composants de la mise en page?

+1

essayer [https://stackoverflow.com/questions/15333529/how-to-provide-shadow-to-button](https:// stackoverflow.com/questions/15333529/how-to-provide-shadow-to-button) –

Répondre

1

Essayez de supprimer le android:background="@null" non seulement de changer. Lorsque ImageView a BG comme nulle, vous ne verrez pas l'ombre. Voir aussi this réponse.

+0

Merci! Cela a fait l'affaire, et en ajoutant android: background = "@ android: drawable/dialog_holo_light_frame" ' a un effet visuel beaucoup plus beau. (merci @ pcgali-android) –

1

essayer ce supprimer android:background="@null" de votre bouton d'image

<ImageButton 
    android:id="@+id/btnMain" 
    android:layout_width="match_parent" 
    android:layout_height="100dp" 
    android:layout_alignParentStart="true" 
    android:layout_below="@+id/txtTitle" 
    android:adjustViewBounds="true" 
    android:contentDescription="@string/btnMain_description" 
    android:elevation="10dp" 
    android:padding="10dp" 
    android:scaleType="centerInside" 
    android:src="@drawable/btn_yellow" 
    android:layout_marginLeft="10dp" 
    android:layout_marginRight="10dp" 
    android:layout_marginTop="10dp" />