Comment mettre en œuvre le Matériel de conception de l'Altitude pour Pré-lollipop
Google a montré quelques belles manières que l'effet de l'élévation sont affichés sur Lollipop ici.
android:elevation="2dp"
pour les boutons,
android:stateListAnimator="@anim/button_state_list_animator"
Comment puis-je imiter l'effet de l'altitude sur la pré-Sucette versions sans les 3e partie de la bibliothèque?
- Vous êtes en mesure de le faire à l'aide de la Bibliothèque Personnalisée dans votre Application. Vous êtes en mesure de trouver des exemples dans le lien suivant :github.com/wasabeef/awesome-android-ui
- puis-je mettre en œuvre sans la 3ème partie de la bibliothèque?
- Oui,arjunu.com/2015/02/materializing-your-apps-for-pre-lollipop suivre ce lien pour le faire.
- vous pouvez essayer ceci : stackoverflow.com/questions/26728570/...
- double possible de Android vue de l'ombre
Vous devez vous connecter pour publier un commentaire.
Vous pouvez imiter l'élévation sur la pré-Sucette avec une méthode officielle.
Je obtenir le même effet en utilisant,
Mes testé de sortie:
de référence - https://stackoverflow.com/a/25683148/3879847
Merci à l'utilisateur @Repo..
Mise à jour : Si vous voulez changer la couleur de ce drawable essayez @Irfan réponse ci-dessous ↓
https://stackoverflow.com/a/40815944/3879847
Vous ne pouvez pas imiter l'élévation sur la pré-Sucette avec une méthode officielle.
Vous pouvez utiliser un drawable pour faire de l'ombre dans votre composant. Google utilise de cette façon dans CardView par exemple.
La
ViewCompat.setElevation(View, int)
crée actuellement l'ombre uniquement sur API21+. Si vous examinez le code derrière, cette méthode appelle:API 21+:
API < 21
Vous pouvez le modifier à l'aide d'une carte-vue:
Ou de regarder à l'aide de cette troisième partie de la bibliothèque: https://github.com/rey5137/Material (voir l'article de wiki sur le bouton https://github.com/rey5137/Material/wiki/Button)
Créer un 9-patch image avec extensible patchs défini sur une image avec l'ombre autour d'elle.
Ajouter cette 9-patch image comme arrière-plan de votre bouton avec un rembourrage de sorte que l'ombre est visible.
Vous pouvez trouver quelques pré-défini 9-patch (.9.png) images ici ou ici à partir de laquelle vous pouvez sélectionner, personnaliser et copie de votre projet drawable.
À apporter dynamique, animée ombres de la pré-Sucette périphériques, vous devez:
drawChild
méthode.Vous devez également remplacer
setElevation
etsetTranslationZ
, remplacer enfant de voir le dessin dans les mises en page, désactivez le clip de rembourrage et de mettre en œuvre l'état des animateurs.C'est beaucoup de travail, mais il donne le meilleur de la recherche, des ombres dynamiques avec une réponse en animations. Je ne suis pas sûr de savoir pourquoi vous souhaitez réaliser que sans des bibliothèques tierces. Si vous le souhaitez, vous pouvez analyser des sources de Carbone et port les pièces que vous aimeriez avoir dans votre application:
La génération des ombres
Dessin d'une vue avec une ombre
L'élévation de l'API reporté sur la pré-Lollipop
à ajouter @Ranjith Kumar réponse
Pour ajouter de la couleur d'arrière-plan pour le drawable (exemple bouton couleur d'arrière-plan), nous avons besoin d'obtenir dessiné par programmation.
de la première à obtenir le drawable
définir la couleur
puis le mettre à la vue.
au cas où quelqu'un la recherche.
u peut facilement simuler en déclarant un drawable, ce
shadow.xml
et de l'utiliser int ur principal xml comme -