Prima di tutto, sono “uno sviluppatore mobile e sto rischiando lo sviluppo di un layout per la mia app, fin dallinizio ho riscontrato il seguente problema, Photoshop utilizza PX come unità di misura per i moduli e in sviluppo lapp utilizza DP, so come funziona la conversione Da PX a PD
dp = px * (160 / dpi)
Tuttavia, quando applico una formula e utilizzo i valori nella programmazione, le interruzioni di layout, Vorrei sapere se esiste una configurazione di file PSD, come altezza, larghezza, densità di pixel, dove posso utilizzare come base per il mockup della mia app, quindi rendere facile il trasporto di queste misure per dispositivi mobili e tablet?
Risposta
Photoshop utilizza PX come unità di misura per i moduli e in fase di sviluppo lapp utilizza DP, so come funziona la conversione Da PX a DP
La conversione dipenderà da n come è stato costruito il design originale in Photoshop. Le unità dp
di Android sono pixel indipendenti dalla densità. 1dp potrebbe essere visualizzato come 1 pixel dello schermo, o 2, o 3, o 4 o qualche altro valore, a seconda del dispositivo e delle impostazioni di Android.
Di seguito è riportato un elenco delle conversioni comuni:
- 1 dp = 1 pixel o 1 ×, per i display
mdpi
(~ 160PPI). - 1 dp = 1,5 pixel o 1,5 × , per
hdpi
display (~ 240PPI). - 1 dp = 2 pixel o 2 ×, per
xhdpi
visualizza (~ 320PPI). - 1 dp = 3 pixel o 3 ×, per
xxhdpi
display (~ 480PPI). - 1 dp = 4 pixel, o 4 ×, per i display
xxxhdpi
(~ 640PPI).
Quindi, la grande domanda è quale densità vuoi in cui costruire i tuoi mockup? Puoi scegliere una qualsiasi delle densità sopra. La tua scelta determinerà la conversione e altri fattori.
La mia preferenza è progettare a 1 ×, una scala in cui 1 dp
= 1 px
= 1 CSS px
= 1 iOS point
. Ciò significa che i tuoi mockup hanno una risoluzione inferiore rispetto al dispositivo stesso, ma significa che la conversione non richiede alcuna modifica al valore.
Quando hai finito, Photoshop ha alcuni modi per esportare le risorse per le varie densità . Export As
e Generator
possono creare le altre scale oppure puoi utilizzare Save for Web
e le sezioni ( come faccio io ).
Ecco la finestra Esporta come di Photoshop, con lesportazione impostata per densità 1 ×, 2 × e 3 × ( per iOS, in questo caso).
Risposta
La tua formula non è corretta. A titolo di riferimento, la Guida allo sviluppo di Android dice
px = dp * (dpi / 160)
quindi la formula effettiva per dp è
dp = px / (dpi / 160)
Spero che questo aiuti!
Per la seconda parte della tua domanda, Photoshop è piuttosto noioso quando si tratta di esportare risorse o anche giunzioni. Se sei pronto a usare Sketch, è molto più facile. Ma scusate, come designer di dispositivi mobili, uso a malapena Photoshop perché la conversione da px a dp non è una cosa facile da fare in quel programma.
Rivisto
Penso di aver capito meglio la tua domanda ora. Consulta questo sito per i valori che “stai cercando: https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions
Commenti
- Scusa, ho scritto la formula sbagliata nel post quindi stavo usando la formula corretta per la conversione, la mia domanda è quale dovrebbe essere la dimensione del file in modo che io posso esportare i valori correttamente. E su Sketch non posso usarlo, il sistema operativo è Linux, Per usare Photoshop era necessario utilizzare uno strumento chiamato Wine che permette a Photoshop di funzionare su Linux.
Risposta
Questo potrebbe essere fuori tema qui, ma “consiglierei di non usare affatto Photoshop per la progettazione dello schermo. Usa uno strumento vettoriale come Illustrator, Sketch o simili. La differenza è che puoi ridimensionare i tuoi progetti in un secondo momento. Se lavori in Photoshop con una dimensione 1x, i tuoi design appariranno orribili su un moderno telefono Andriod. Dovresti impostare i progetti almeno a 2x, meglio 4x per renderli fluidi su uno schermo ad alto ppi.
Inoltre, tutte le risorse che crei con uno strumento vettoriale, possono essere utilizzate successivamente come risorse per tutte le dimensioni richieste. In Photoshop sarà molto più difficile isolare pulsanti, icone, ecc. per una successiva esportazione.