2010-11-20 8 views
14

Ho provato a trovare su google & questa domanda. Ha anche fatto diversi tentativi di errori &, ma non è stato possibile ottenere questa domanda. Stavo imparando le immagini di "Draw Nine Patch" di Android. Uno di base che so è che, qualunque immagine tu elabori deve essere in formato .png (se è già in .9.png allora verrà ignorata dallo strumento). Tuttavia,Strumento Android Draw 9-patch: qual è il significato delle linee nere al di fuori della figura

  1. Non riuscivo a capire cosa significhi letteralmente "patch estensibili"?
  2. Cosa succede esattamente quando disegni punti neri all'esterno dell'immagine .png? (il riquadro di anteprima mostra i cambiamenti in corso, ma non sono chiaro su come li rende)
  3. Quando disegno dei punti neri nei lati sinistro/superiore dell'immagine, mostra alcune modifiche nell'anteprima; ma perché non c'è alcun effetto quando fai lo stesso sul lato destro/inferiore dell'immagine?
  4. Perché questo strumento viene utilizzato principalmente per lo sfondo, quando proviamo a elaborare sull'immagine stessa?
  5. Sto cercando di modificare un semplice button.png (fornito in Android SDK). Ogni volta che utilizzo questo strumento, lo & disegna linee nere, riduce la dimensione dell'immagine invece di "allungarla"! Perché ?
  6. Qual è il significato delle opzioni riportate di seguito come "blocco show", "mostra contenuto", "scala patch" e così via?

Mi scuso per aver chiesto così tante domande, ma nei documenti online di Android non hanno spiegato bene per i principianti. Se qualcuno può rispondere a questi, diventerà un riferimento pronto per tutti i principianti che cercano in questo forum.

+1

+1 per chiedere quello che il "blocco" è circa.All'inizio ho trovato un po 'di confusione, ma fondamentalmente è solo il modo in cui l'editor ti permette di cambiare le linee di bordo di 1 pixel ciascuna e non altro. Quindi puoi mostrarlo o nasconderlo e non importa. – Wytze

risposta

26

Con patch estensibili, stai praticamente dicendo ad Android quali righe e colonne di pixel dell'immagine vuoi ripetere. Quando si allunga un'immagine standard, ci sono due possibilità: una, viene ridimensionata proporzionalmente, ma perde comunque nitidezza a causa dell'interpolazione; Due, è ridimensionato in modo sproporzionato e perde non solo la nitidezza, ma anche la sua forma. Un esempio di un ridimensionamento sproporzionata è qui sotto:
stretched

Quindi lo scopo delle linee nere che dicono Android quali aree dell'immagine sono sicuri di ripetere. L'angolo superiore definisce le colonne che può allungare, mentre l'angolo sinistro definisce le righe che possono allungarsi. Gli angoli inferiore e destro definiscono semplicemente l'area del contenuto reale (ad esempio, dove il pulsante è autorizzato a posizionare il testo), è possibile riservare spazio aggiuntivo per il riquadro. Nell'immagine sottostante, puoi vedere che i due pixel neri all'esterno del frame definiscono le righe sull'immagine, mentre quella in cima definisce una colonna.


example

E sotto, questa mostra il risultato di un 9-patch disteso ai vari formati. Se è ingrandito per essere più ampio, le metà dell'immagine a sinistra ea destra della colonna estensibile definita sono allineate a sinistra ea destra della nuova dimensione e la colonna definita viene ripetuta per riempire lo spazio intermedio. La stessa cosa accade con le righe definite; se usi i multipli (non credo che puoi usare più di 2 righe/colonne), riempie uniformemente lo spazio con entrambi; in questo caso l'ho usato per mantenere la sfumatura uniformemente divisa al centro.

stretched images result

+0

Ciao Grazie per la tua spiegazione; ma ancora non sono chiaro perché cercando di disegnare poche 9 immagini patch, non sono in grado di allungare il mio button.png al massimo. Inoltre, ho anche diverse altre domande come menzionato. – iammilind

+0

Non so davvero cosa intendi per Domanda 4. Per quanto riguarda 5, disegnare le linee nere non cambia affatto la dimensione dell'immagine. Considera la tua immagine come la dimensione più piccola in assoluto di qualunque cosa tu la stia usando. È progettato per essere in grado di ESPANDERE in qualsiasi dimensione senza distorsioni. "Mostra contenuto" mostra quale è l'area del contenuto definita, ad es. dove può posizionare il contenuto all'interno. "Show Lock" con cui non ho familiarità. "Patch Scale" ti permette di vedere la 9-patch ridimensionata in varie dimensioni. – kcoppock