Først og fremmest er jeg mobiludvikler, og jeg risikerer at udvikle et layout til min app lige fra starten I fandt følgende problem, Photoshop bruger PX som en måleenhed til formularerne og i udvikling bruger appen DP, jeg ved, hvordan konverteringen fungerer Fra PX til PD
dp = px * (160 / dpi)
Men når jeg anvender en formel og bruger værdierne i programmeringen, bryder layoutet, Jeg vil gerne vide, om der er en PSD-filkonfiguration, såsom højde, bredde, pixeltæthed, hvor jeg kan bruge som basis til at mockupere min app, så gør det nemt at bære disse foranstaltninger til mobil og tablets?
Svar
Photoshop bruger PX som en måleenhed for formularerne og under udvikling af appen bruger DP, jeg ved, hvordan konverteringen fungerer Fra PX til DP
Konverteringen afhænger af n hvordan det originale design i Photoshop blev konstrueret. Androids dp
enheder er densitetsuafhængige pixels. 1dp gengives muligvis som 1 skærmpixel eller 2 eller 3 eller 4 eller en anden værdi afhængigt af enhedens og Android-indstillinger.
Her er en liste over de almindelige konverteringer:
- 1 dp = 1 pixel eller 1 × til
mdpi
viser (~ 160PPI). - 1 dp = 1,5 pixels eller 1,5 × , til
hdpi
viser (~ 240PPI). - 1 dp = 2 pixels eller 2 × til
xhdpi
viser (~ 320PPI). - 1 dp = 3 pixels eller 3 × for
xxhdpi
viser (~ 480PPI). - 1 dp = 4 pixels eller 4 × til
xxxhdpi
viser (~ 640PPI).
Så det store spørgsmål er, hvilken tæthed du vil have at bygge dine mockups i? Du kan vælge en af ovenstående tætheder. Dit valg vil diktere konverteringen og andre faktorer.
Min præference er at designe med 1 ×, en skala, hvor 1 dp
= 1 px
= 1 CSS px
= 1 iOS point
. Det betyder, at dine mockups har en lavere opløsning end selve enheden, men det betyder, at konverteringen ikke kræver nogen ændring af værdien.
Når du er færdig, har Photoshop et par måder at eksportere aktiver til de forskellige tætheder. . Export As
og Generator
kan bygge de andre skalaer, eller du kan bruge Save for Web
og udsnit ( som jeg gør ).
Her er Photoshops Eksporter som-vindue, hvor eksporten er indstillet til 1 ×, 2 × og 3 × tætheder ( til iOS, i dette tilfælde).
Svar
Din formel er forkert. Som en reference siger Android-udviklingsvejledning ,
px = dp * (dpi / 160)
så den faktiske formel for dp er
dp = px / (dpi / 160)
Håber det hjælper!
For den anden del af dit spørgsmål er Photoshop ret kedeligt, når det kommer til at eksportere aktiver eller endda splejsning. Hvis du er åben for at bruge Sketch, er det meget nemmere. Men undskyld, som mobildesigner bruger jeg næppe photoshop, fordi konvertering af px til dp ikke er en nem ting at gøre i det program.
Revideret
Jeg tror, jeg forstår dit spørgsmål bedre nu. Se på dette websted for de værdier, du leder efter: https://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions
Kommentarer
- Desværre, jeg skrev den forkerte formel i indlægget, så jeg brugte den korrekte formel til konverteringen, mit spørgsmål er, hvad der skal være filens størrelse, så jeg kan eksportere værdierne korrekt. Og på Sketch kan jeg ikke bruge det, operativsystemet er Linux. For at bruge photoshop var det nødvendigt at bruge et værktøj kaldet Wine, der gør det muligt for Photoshop at køre på Linux.
Svar
Dette kan være uden for emnet her, men jeg anbefaler ikke at bruge Photoshop overhovedet til skærmdesign. Brug et vektorværktøj som Illustrator, Sketch eller lignende. Forskellen er, at du kan skalere dine designs op senere. Hvis du arbejder i Photoshop i 1x størrelse, vil dine designs se forfærdelige ud på en moderne Andriod-telefon. Du bliver nødt til at konfigurere designene mindst 2x, bedre 4x for at få dem til at se glatte ud på en high-ppi-skærm.
Også alle aktiver, du opretter med et vektorværktøj, kan senere bruges som aktiver til alle nødvendige størrelser. I Photoshop vil det være meget mere arbejde at isolere knapper, ikoner osv. til en senere eksport.