2012-05-10 20 views
6

Sto testando su HTC Desire che è un dispositivo hdpi. Il problema è chiaro quando si guarda l'immagine:9-patch - 1px bordo è sfocato

9-patch - 1px border is blurred

Ed ecco come il mio 9-patch (fatta con lo strumento 9-patch standard) sembra (zoom):

9-patch - 1px border is blurred

L'immagine a sinistra è il mio file di Photoshop e quella a destra è uno screenshot dal mio dispositivo. Come puoi vedere c'è un'enorme differenza. Diciamo che l'ombra non è così importante, ma il bordo sfocato sembra cattivo.

Il mio png a 9 patch è errato? Cosa posso fare per ottenere un bel bordo solido 1px nitido?

+1

È necessario eseguire un'operazione quando si utilizza lo strumento a 9 percorsi. Stai usando uno strumento a 9 percorsi per ogni png in una cartella diversa? – goodm

+0

La tua 9 patch è stata denominata correttamente come filename.9.png? – ligi

+1

invece della linea è sufficiente inserire un punto su quattro lati dell'immagine in draw9patch. Funzionerà. –

risposta

8

È necessario utilizzare uno strumento a 9 percorsi per ogni png in diverse cartelle disegnabili. A volte il problema è che Android tenta di convertire il png e sfocare le linee nere, che causano problemi successivi con la corretta visualizzazione.

+2

+1 na zdrowie :) –

3

Per ovviare a questo problema, è sufficiente rilasciare la patch 9 nella cartella drawable-no-dpi. Ciò consente di avere un'immagine per tutte le densità. E Android non toccherà l'immagine.

Questo è principalmente ciò che faccio per i miei progetti, a meno che non voglia davvero avere una differenza tra le densità. In tal caso, creo una 9 patch per densità.

+0

Sì, questa era la soluzione se non mettessi tutti i drawable in dpi diversi (come puoi vedere in questi vecchi commenti) . –

Problemi correlati