Android Dessine outil 9-patch: Quelle est la signification des lignes noires en dehors de la figure

StackOverflow https://stackoverflow.com/questions/4231375

  •  26-09-2019
  •  | 
  •  

Question

Je assez essayé de trouver dans google et Android cette question. En outre, plusieurs essais ont fait des erreurs et, mais n'a pas pu obtenir cette question. J'apprenais les images "Draw Nine Patch" d'Android. Un savoir I de base est que, quelle que soit l'image que vous traitez doit être au format .png (si elle est déjà en .9.png alors il sera ignoré par l'outil). Cependant,

  1. je ne pouvais pas comprendre ce que cela signifie littéralement par « patches » extensibles?
  2. Qu'est-ce qui se passe exactement quand vous dessinez des points noirs en dehors de l'image .png? (Volet aperçu montre les changements qui se passe, mais je ne suis pas clair sur la façon dont il fait les)
  3. Quand je dessine des points noirs sur les côtés gauche / haut de l'image, il montre quelques changements en avant-première; mais pourquoi n'est pas là un effet lorsque vous faites la même chose sur le côté droit / bas de l'image?
  4. Pourquoi cet outil est principalement utilisé pour le fond, quand nous essayons de processus sur l'image elle-même?
  5. Je suis en train de modifier simple button.png (donnée dans sdk android). Chaque fois que j'utiliser cet outil et dessine des lignes noires, il réduit la taille de l'image au lieu de « stretching » it! Pourquoi?
  6. Quelle est la signification des options ci-dessous comme "serrure show", "content show", "échelle Patch" et ainsi de suite?

Je me excuse pour poser tant de questions, mais dans Android docs en ligne, ils n'ont pas bien expliqué pour les débutants. Si quelqu'un peut répondre à ces questions, il deviendra référence prêt pour tous les begineers qui recherche ce forum.

Était-ce utile?

La solution

Par patchs étirables, vous racontez essentiellement Android les lignes et les colonnes de pixels dans l'image que vous voulez répéter. Lorsque vous étirez une image standard, il existe deux possibilités: l'une, il est mis à l'échelle proportionnelle, mais perd encore la netteté en raison de l'interpolation; Deux, il est mis à l'échelle de façon disproportionnée, et perd non seulement sa netteté, mais sa forme aussi bien. Un exemple d'une mise à l'échelle disproportionnée est ci-dessous:
étiré

Donc, le but des lignes noires, il dit Android quels domaines de l'image sont sûrs à répéter. Le coin en haut définit la colonne (s) qu'il peut étirer, alors que le coin gauche définit la rangée (s) qui peut étirer. Le fond et les coins droite définissent seulement la zone de contenu réel (par exemple lorsque le bouton est autorisé à placer du texte), vous pouvez réserver un espace supplémentaire pour rembourrer le cadre. Dans l'image ci-dessous, on peut voir que les deux pixels noirs à l'extérieur du châssis définissent les lignes de l'image, tandis que l'une au-dessus définit une colonne.


exemple

Et ci-dessous, cela montre le résultat d'un 9-patché étendu à différentes tailles. Si elle est agrandie pour être plus large, les moitiés de l'image à gauche et à droite de la colonne étirable définie sont alignés à gauche et à droite de la nouvelle taille, et la colonne définie est répétée pour remplir l'espace entre les deux. Même chose avec les lignes définies; si vous utilisez des multiples (je ne crois pas que vous pouvez utiliser plus de 2 lignes / colonnes extensibles) juste pads uniformément l'espace avec les deux; dans ce cas, je l'ai utilisé pour maintenir le gradient également réparti au milieu.

images étirées résultat

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top