Ce n'TranslationZ en Android?
Salut, je suis le développement de l'application android, dans lequel je suis en train de mettre en œuvre de nouveaux matériaux caractéristiques de conception. J'ai essayé d'appliquer à la fois l'élévation de la propriété et TranslationZ bien, mais il ne fonctionne pas.
<Button
android:id="@+id/button1"
style="@style/ButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:text="Name" />
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#0073ff" />
<corners android:radius="16dp" />
</shape>
<style name="ButtonStyle">
<item name="android:elevation">8dp</item>
<item name="android:translationZ">8dp</item>
<item name="android:background">@drawable/file</item>
</style>
Documentation: developer.android.com/reference/android/view/...
OriginalL'auteur Manukumar | 2015-04-24
Vous devez vous connecter pour publier un commentaire.
TranslationZ est une propriété dynamique utilisé pour l'animation. Fondamentalement, il est nécessaire de bien gérer les changements d'élévation. Lorsque vous appuyez sur un bouton, sa hauteur reste inchangée et ses translationZ est en cours d'animation. De cette façon, le point de Vue sait toujours ce qui était à l'origine de l'élévation de la valeur et peut répondre correctement à plusieurs événements tactiles.
En interne Z = altitude + translationZ
OriginalL'auteur Zielony
Simple Correctif
Votre problème à perdre le contact commentaires & Z animations lors de la mise à jour du style vient de de ne pas étendre le parent android:Widget.Matériau de.Bouton dans votre style. Si vous le faites, vous n'aurez pas à n'importe quel manuel de l'animation ou de retour tactile. Remplacer simplement ce dont vous avez besoin!
Z-profondeur explication
Selon les documents,
TranslationZ
est juste la composante dynamique de la valeur de Z. Ce que cela signifie est que lorsque vous animez votre point de vue dans l'axe des Z (avecViewPropertyAnimator
), l'animation de l'état commencer de la composante statique de la valeur de Z, laelevation
, et fin à la pleine valeur de Z avec letranslation
composant le changement entre les deux, ou le delta.Z = altitude + translationZ
De mettre en œuvre une animation avec translationZ, vous auriez besoin de faire un
StateListAnimator
. Dans votre cas particulier, parce que vous n'êtes pas d'animer quoi que ce soit, afin de mettre un Z-de la profondeur à votreButton
, vous avez juste besoinelevation
.OriginalL'auteur aindurti