Wat is het verschil tussen px , dip , dp en sp ?

Wat is het verschil tussen Android-maateenheden?

  • px
  • duik
  • dp
  • sp

Antwoord 1, autoriteit 100%

Uit de Documentatie voor Android-ontwikkelaars:

  1. px
    > Pixels – komt overeen met de werkelijke pixels op het scherm.

  2. binnen
    > Inches – gebaseerd op de fysieke grootte van het scherm.
    > 1 inch = 2,54 centimeter

  3. mm
    > Millimeters – gebaseerd op de fysieke grootte van het scherm.

  4. pt
    > Punten – 1/72 inch op basis van de fysieke grootte van het scherm.

  5. dp of dip
    > Dichtheid-onafhankelijke pixels – een abstracte eenheid die is gebaseerd op de fysieke dichtheid van het scherm. Deze eenheden zijn relatief ten opzichte van een 160
    dpi-scherm, dus één dp is één pixel op een scherm van 160 dpi. De verhouding van
    dp-naar-pixel verandert met de schermdichtheid, maar niet noodzakelijk
    in directe verhouding. Opmerking: de compiler accepteert zowel “dip” als
    “dp”, hoewel “dp” consistenter is met “sp”.

  6. sp
    > Schaalbare pixels OF schaalonafhankelijke pixels – dit is net als de dp-eenheid, maar het wordt ook geschaald door de voorkeur van de lettergrootte van de gebruiker. Het is je aan te raden
    gebruik dit toestel bij het specificeren van lettergroottes, zodat deze worden aangepast
    voor zowel de schermdichtheid als de voorkeur van de gebruiker. Let op, de Android-documentatie is inconsistent over waar sp eigenlijk voor staat, één doc zegt “schaalonafhankelijke pixels”, de andere zegt “schaalbare pixels”.

Van Onafhankelijkheid van dichtheid in Android begrijpen:

Dichtheidemmer Schermdichtheid Fysieke grootte Pixelgrootte
ldpi 120 dpi 0,5 x 0,5 inch 0,5 inch * 120 dpi = 60×60 px
mdpi 160 dpi 0,5 x 0,5 inch 0,5 inch * 160 dpi = 80×80 px
hdpi 240 dpi 0,5 x 0,5 inch 0,5 inch * 240 dpi = 120×120 px
xhdpi 320 dpi 0,5 x 0,5 inch 0,5 inch * 320 dpi = 160×160 px
xxhdpi 480 dpi 0,5 x 0,5 inch 0,5 inch * 480 dpi = 240×240 px
xxxhdpi 640 dpi 0,5 x 0,5 inch 0,5 inch * 640 dpi = 320×320 px

Antwoord 2, autoriteit 12%

Vrijwel alles hierover en hoe u de beste ondersteuning kunt krijgen voor meerdere schermen van verschillende afmetingen en dichtheden is hier zeer goed gedocumenteerd:

Schermgrootte
Werkelijke fysieke grootte, gemeten als de diagonaal van het scherm.
Voor de eenvoud groepeert Android alle werkelijke schermformaten in vier
algemene maten: klein, normaal, groot en extra groot.

Schermdichtheid
Het aantal pixels binnen een fysiek gebied van de
scherm; meestal aangeduid als dpi (dots per inch). Bijvoorbeeld, een
scherm met een “lage” dichtheid heeft minder pixels binnen een bepaald fysiek gebied,
vergeleken met een “normaal” of “hoge” schermdichtheid. Voor de eenvoud,
Android groepeert alle werkelijke schermdichtheden in zes gegeneraliseerde
dichtheden: laag, gemiddeld, hoog, extra hoog, extra extra hoog en
extra-extra-extra-hoog.

Oriëntatie
De oriëntatie van het scherm vanaf het punt van de gebruiker
weergave. Dit is liggend of staand, wat betekent dat het scherm
beeldverhouding is respectievelijk breed of hoog. Houd er rekening mee dat niet
alleen werken verschillende apparaten in verschillende richtingen door:
standaard, maar de oriëntatie kan tijdens runtime veranderen wanneer de gebruiker
draait het apparaat.

Resolutie
Het totale aantal fysieke pixels aan
een scherm. Bij het toevoegen van ondersteuning voor meerdere schermen doen toepassingen dat wel:
niet direct werken met resolutie; toepassingen moeten worden betrokken
alleen met schermgrootte en dichtheid, zoals gespecificeerd door de gegeneraliseerde
grootte en dichtheid groepen.

Dichtheidsonafhankelijke pixel (dp)
Een virtuele
pixeleenheid die u moet gebruiken bij het definiëren van de UI-lay-out, om uit te drukken:
lay-outafmetingen of positie op een dichtheidsonafhankelijke manier.
De dichtheidsonafhankelijke pixel is gelijk aan één fysieke pixel op een 160
dpi-scherm, wat de basislijndichtheid is die door het systeem wordt aangenomen voor a
scherm met “gemiddelde” dichtheid. Tijdens runtime verwerkt het systeem transparant:
eventuele schaling van de dp-eenheden, indien nodig, op basis van de werkelijke dichtheid
van het scherm dat in gebruik is. De conversie van dp-eenheden naar schermpixels is
eenvoudig:
px = dp * (dpi / 160).
Op een scherm van 240 dpi wordt bijvoorbeeld 1 dp
is gelijk aan 1,5 fysieke pixels. U moet altijd dp-eenheden gebruiken wanneer:
het definiëren van de gebruikersinterface van uw toepassing, om ervoor te zorgen dat uw gebruikersinterface op de juiste manier wordt weergegeven
schermen met verschillende dichtheden.

Als je serieus bent over het ontwikkelen van een Android-app voor meer dan één type apparaat, moet je het ontwikkelingsdocument voor schermen met ondersteuning minstens één keer hebben gelezen. Daarnaast is het altijd goed om het werkelijke aantal actieve apparaten met een bepaalde schermconfiguratie te weten.


Antwoord 3, autoriteit 6%

Ik zal meer vertellen over hoe dp precies wordt geconverteerd naar px:

  • Als het op een mdpi-apparaat wordt uitgevoerd, neemt een afbeelding van 150 x 150 px 150 * 150 dp aan schermruimte in beslag.
  • Als het draait op een hdpi-apparaat, neemt een afbeelding van 150 x 150 px 100 * 100 dp aan schermruimte in beslag.
  • Als het draait op een xhdpi-apparaat, neemt een afbeelding van 150x150 px 75 * 75 dp aan schermruimte in beslag.

Anderom: stel dat u een afbeelding aan uw toepassing wilt toevoegen en deze nodig heeft om een ​​100 * 100 dp-besturingselement in te vullen. U moet afbeeldingen van verschillende formaten maken voor ondersteunde schermformaten:

  • 100 * 100 px afbeelding voor mdpi
  • 150 * 150 px afbeelding voor hdpi
  • 200 * 200 px afbeelding voor xhdpi

Antwoord 4, autoriteit 5%

px – Pixels – punt per schaal komt overeen met de werkelijke pixels op het scherm.

i – Inches – gebaseerd op de fysieke grootte van het scherm.

mm – Millimeters – gebaseerd op de fysieke grootte van het scherm.

pt – Punten – 1/72 inch gebaseerd op de fysieke grootte van het scherm.

dp – Dichtheidsonafhankelijke pixels – een abstracte eenheid die is gebaseerd op de fysieke dichtheid van het scherm.
Deze eenheden zijn relatief ten opzichte van een scherm van 160 dpi, dus één dp is één pixel op een scherm van 160 dpi. De verhouding van dp tot pixel zal veranderen met de schermdichtheid, maar niet noodzakelijk in directe verhouding.
Opmerking: de compiler accepteert zowel dip als dp, hoewel dp consistenter is met sp.

sp – schaalbare pixels – dit is zoals de eenheid dp,
maar het wordt ook geschaald door de voorkeur van de lettergrootte van de gebruiker.
Het wordt aanbevolen dit toestel te gebruiken bij het specificeren van lettergroottes,
dus ze worden aangepast aan zowel de schermdichtheid als de voorkeur van de gebruiker.

Neem het voorbeeld van twee schermen die hetzelfde formaat hebben, maar het ene heeft een schermdichtheid van 160 dpi (dots per inch, oftewel pixels per inch) en het andere is 240 dpi.

                          Lower resolution screen     Higher resolution, same size
Physical Width                      1.5 inches                        1.5 inches
Dots Per Inch (“dpi”)               160                               240
Pixels (=width*dpi)                 240                               360
Density (factor of baseline 160)    1.0                               1.5
Density-independent pixels          240                               240
(“dip” or “dp” or “dps”)
Scale-independent pixels 
 (“sip” or “sp”)                  Depends on user font size settings    same

Antwoord 5, autoriteit 4%

Bovendien moet u een duidelijk begrip hebben van de volgende concepten:

Schermgrootte:

Werkelijke fysieke grootte, gemeten als de diagonaal van het scherm. Voor de eenvoud groepeert Android alle werkelijke schermformaten in
vier algemene maten: klein, normaal, groot en extra groot.

Schermdichtheid:

Het aantal pixels binnen een fysiek gebied van het scherm; meestal aangeduid als dpi (dots per inch). Bijvoorbeeld, een
scherm met een “lage” dichtheid heeft minder pixels binnen een bepaald fysiek gebied,
vergeleken met een “normaal” of “hoge” schermdichtheid. Voor de eenvoud,
Android groepeert alle werkelijke schermdichtheden in vier gegeneraliseerde
dichtheden: laag, gemiddeld, hoog en extra hoog.

Oriëntatie:

De oriëntatie van het scherm vanuit het oogpunt van de gebruiker. Dit is ofwel liggend ofwel staand, wat betekent dat de
de beeldverhouding van het scherm is respectievelijk breed of hoog. Let op
dat niet alleen verschillende apparaten in verschillende richtingen werken
standaard, maar de oriëntatie kan tijdens runtime veranderen wanneer de gebruiker
draait het apparaat.

Oplossing:

Het totale aantal fysieke pixels op een scherm. Bij het toevoegen van ondersteuning voor meerdere schermen werken applicaties niet direct
met resolutie; toepassingen moeten alleen betrekking hebben op het scherm
grootte en dichtheid, zoals gespecificeerd door de algemene grootte en dichtheid
groepen.

Dichtheidsonafhankelijke pixel (dp):

Een virtuele pixeleenheid die u moet gebruiken bij het definiëren van de UI-layout, om lay-outafmetingen uit te drukken of
positie op een dichtheidsonafhankelijke manier. De dichtheidsonafhankelijke pixel
komt overeen met één fysieke pixel op een scherm van 160 dpi, wat de
basislijndichtheid aangenomen door het systeem voor een scherm met “gemiddelde” dichtheid.
Tijdens runtime verwerkt het systeem op transparante wijze elke schaling van de dp
eenheden, indien nodig, op basis van de werkelijke dichtheid van het gebruikte scherm.
De conversie van dp-eenheden naar schermpixels is eenvoudig: px = dp * (dpi
/ 160). Op een scherm van 240 dpi is 1 dp bijvoorbeeld gelijk aan 1,5 fysiek
pixels. U moet altijd dp-eenheden gebruiken bij het definiëren van uw
de gebruikersinterface van de toepassing, om een ​​correcte weergave van uw gebruikersinterface op schermen met
verschillende dichtheden.

Referentie: Android-ontwikkelaarssite


Antwoord 6, autoriteit 4%

dp is dip. Gebruik het voor alles (marge, opvulling, enz.).

Gebruik sp alleen voor {text-size}.


Om dezelfde grootte op verschillende schermdichtheden te krijgen, vertaalt Android deze eenheden tijdens runtime naar pixels, dus je hoeft geen lastige wiskunde te doen.


Zie het verschil tussen px, dp en sp op verschillende schermformaten.

Voer hier de afbeeldingsbeschrijving in

Bron: Android Programming: The Big Nerd Ranch Guide


Antwoord 7, autoriteit 3%

Definities

px of punt is een pixel op het fysieke scherm.

dpi zijn pixels per inch op het fysieke scherm en vertegenwoordigen de dichtheid van het scherm.

Android geeft aliasnamen aan verschillende dichtheden

  • ldpi (laag) ~120 dpi
  • mdpi (gemiddeld) ~160 dpi
  • hdpi (hoog) ~240 dpi
    • de meeste apparaten in 2015 zijn hier
  • xhdpi (extra hoog) ~320dpi
    • Apple iPhone 4/5/6, Nexus 4
  • xxhdpi (extra-extra-hoog) ~480dpi
    • Nexus 5
  • xxxhdpi (extra-extra-extra-hoog) ~640 dpi

dip of dp zijn density-onafhankelijke pixels, dwz ze komen overeen met meer of minder pixels, afhankelijk van de fysieke dichtheid.

  • 1dp = 1px op mdpi

voer hier de afbeeldingsbeschrijving in

sp of sip is een schaalonafhankelijke pixel. Ze worden geschaald wanneer de optie Grote tekst is ingeschakeld in Instellingen > Toegankelijkheid

  • 1sp = 1dp
  • 1sp = 1.2dp met toegankelijkheid Grote tekst

Wat te gebruiken?

Gebruik sp voor tekstgrootte.

Gebruik dp voor al het andere.


Antwoord 8, autoriteit 3%

Ik heb de onderstaande formule berekend om de conversies dpi naar dp en sp te maken
voer hier de afbeeldingsbeschrijving in


Antwoord 9, autoriteit 2%

Bron 1

Bron 2

Bron 3: (gegevens van bron 3 wordt hieronder gegeven)

Dit zijn dimensiewaarden die zijn gedefinieerd in XML. Er is een dimensie opgegeven
met een getal gevolgd door een maateenheid. Bijvoorbeeld: 10px, 2in,
5 sp. De volgende maateenheden worden ondersteund door Android:

dp

Dichtheidsonafhankelijke pixels: een abstracte eenheid die is gebaseerd op de
fysieke dichtheid van het scherm. Deze eenheden zijn relatief ten opzichte van een 160 dpi
(dots per inch) scherm, waarbij 1dp ongeveer gelijk is aan 1px. Wanneer
draait op een scherm met een hogere dichtheid, het aantal pixels dat wordt gebruikt om te tekenen
1 dp wordt opgeschaald met een factor die geschikt is voor de dpi van het scherm.
Evenzo, wanneer op een scherm met een lagere dichtheid, het aantal gebruikte pixels
voor 1dp wordt verkleind. De verhouding van dp tot pixel verandert met de
schermdichtheid, maar niet noodzakelijk in directe verhouding. dp . gebruiken
eenheden (in plaats van px-eenheden) is een eenvoudige oplossing om de weergave te maken
afmetingen in uw lay-out correct formaat wijzigen voor ander scherm
dichtheden. Met andere woorden, het biedt consistentie voor de echte wereld
grootte van uw UI-elementen op verschillende apparaten.

sp

Schaalonafhankelijke pixels – Dit is net als de dp-eenheid, maar het is ook
geschaald volgens de voorkeur van de lettergrootte van de gebruiker. Het wordt aanbevolen dat u
dit toestel bij het specificeren van lettergroottes, zodat deze worden aangepast voor
zowel de schermdichtheid als de voorkeur van de gebruiker.

pt

Punten – 1/72 inch gebaseerd op de fysieke grootte van het scherm.

px

Pixels – Komt overeen met de werkelijke pixels op het scherm. Deze eenheid van
maatregel wordt niet aanbevolen omdat de werkelijke weergave kan variëren
op verschillende apparaten; elk apparaat kan een ander aantal pixels per
inch en heeft mogelijk meer of minder totale pixels op het scherm.

mm

Millimeters – Gebaseerd op de fysieke grootte van het scherm.

binnen

Inches – Gebaseerd op de fysieke grootte van het scherm.

Opmerking: Een dimensie is een eenvoudige bron waarnaar wordt verwezen met behulp van de waarde in het kenmerk name (niet de naam van het XML-bestand). Als zodanig kunt u dimensiebronnen combineren met andere eenvoudige bronnen in één XML-bestand, onder één element.


Antwoord 10, autoriteit 2%

In principe is de enige keer dat px van toepassing is één px, en dat is als je precies één pixel op het scherm wilt, zoals in het geval van een scheidingslijn:

Op >160 dpi krijgt u mogelijk 2-3 pixels,

Op >120 dpi wordt afgerond op 0.


Antwoord 11, autoriteit 2%

px

Pixels – komt overeen met de werkelijke pixels op het scherm.

dp of dip

Dichtheidsonafhankelijke pixels – een abstracte eenheid die is gebaseerd op de fysieke dichtheid van het scherm. Deze eenheden zijn relatief ten opzichte van een scherm van 160 dpi, dus één dp is één pixel op een scherm van 160 dpi.

Gebruik van dp:

Onafhankelijkheid van dichtheid
Uw applicatie bereikt ‘dichtheidsonafhankelijkheid’ wanneer het de fysieke grootte (vanuit het oogpunt van de gebruiker) van gebruikersinterface-elementen behoudt wanneer het wordt weergegeven op schermen met verschillende dichtheden. (dwz) De afbeelding moet er hetzelfde formaat uitzien (niet vergroot of verkleind) in verschillende soorten schermen.

sp

Schaalonafhankelijke pixels – dit is vergelijkbaar met de dp-eenheid, maar wordt ook geschaald door de voorkeur van de gebruiker voor lettergrootte.

http://developer.android.com/guide/topics/resources/more -resources.html#Dimensie


Antwoord 12, autoriteit 2%

Waar te gebruiken wat & relatie tussen px & dp?

Dichtheidsonafhankelijke pixel (dp)

Een virtuele pixeleenheid die u moet gebruiken bij het definiëren van de UI-lay-out, om lay-outafmetingen of -positie op een dichtheidsonafhankelijke manier uit te drukken. Zoals hierboven beschreven, is de dichtheidsonafhankelijke pixel gelijk aan één fysieke pixel op een scherm van 160 dpi, wat de basislijndichtheid is die door het systeem wordt aangenomen voor een scherm met “gemiddelde” dichtheid. Tijdens runtime verwerkt het systeem op transparante wijze elke schaling van de dp-eenheden, indien nodig, op basis van de werkelijke dichtheid van het gebruikte scherm. De conversie van dp-eenheden naar schermpixels is
eenvoudig:

px = dp * (dpi / 160).

Bij een scherm van 240 dpi is 1 dp bijvoorbeeld gelijk aan 1,5 fysieke pixels. U moet altijd dp-eenheden gebruiken bij het definiëren van de gebruikersinterface van uw toepassing, om ervoor te zorgen:
juiste weergave van uw gebruikersinterface op schermen met verschillende dichtheden.

Het begrijpen van pixel naar dp en vice versa is zeer essentieel (vooral voor het geven van exacte dp-waarden aan het creatieve team)

dp = px * 160 / dpi
MDPI = 160 dpi || Therefore, on MDPI 1 px = 1 dp
For example, if you want to convert 20 pixel to dp, use the above formula,
dp = 20 * 160 / 160 = 20.
So, 20 pixel = 20 dp.
HDPI = 240 dpi - So, on HDPI 1.5 px = 1 dp
XHDPI = 320 dpi - So, on XHDPI 2 px = 1 dp
XXHDPI = 480 dpi - So, on XXHDPI 3 px = 1 dp
For example, let us consider Nexus 4.
If 24 pixels to be converted to dp and if it is a Nexus 4 screen, developers can
convert it to dp easily by the following calculation :
dp = 24 * 160 / 320 = 12 dp
Screen dimension:
768 x 1280 pixel resolution (320 ppi or 320dpi)
Optional (screen size):
 4.7" diagonal
  • Probeer alle pixelwaarden in even getallen van het creatieve team te krijgen. Anders zal er precisieverlies optreden tijdens het vermenigvuldigen met 0,5.

px

Het is hierboven uitgelegd. Probeer te vermijden in lay-outbestanden. Maar er zijn enkele gevallen waarin px vereist is. bijvoorbeeld ListView-scheidingslijn. px is hier beter voor het geven van een lijn van één pixel als scheidingslijn voor alle schermresoluties.

sp

Gebruik sp voor lettergroottes. Dan verandert alleen het lettertype in de toepassing terwijl de grootte van de lettertypen van het apparaat verandert (dat wil zeggen, Display -> Lettertypen op apparaat). Als u een statisch lettertype in de app wilt behouden, kunt u de lettergrootte in dp opgeven. In zo’n geval zal het nooit veranderen. Ontwikkelaars kunnen zo’n vereiste krijgen voor sommige specifieke schermen, daarvoor kunnen ontwikkelaars dp gebruiken in plaats van sp. In alle andere gevallen wordt sp aanbevolen.


Antwoord 13, autoriteit 2%

Je kunt het verschil tussen px en dp zien op de onderstaande afbeelding, en je kunt ook zien dat de px en dp kon niet dezelfde fysieke afmetingen op de verschillende schermen garanderen.

voer hier de afbeeldingsbeschrijving in


Antwoord 14

Alles wat te maken heeft met de tekstgrootte en het uiterlijk moet sp of pt gebruiken. Terwijl alles met betrekking tot de grootte van de bedieningselementen, de lay-outs, enz. moet worden gebruikt met dp.

Je kunt zowel dp als dip op hun plaatsen gebruiken.


Antwoord 15

Ik zou alleen dp gebruiken.

Er wordt veel gepraat over het gebruik van “sp” voor lettergroottes, en hoewel ik het op prijs stel, denk ik niet dat het vanuit ontwerpoogpunt de juiste keuze is. U kunt uw ontwerp verbreken als de gebruiker een vreemde selectie van de lettergrootte heeft, en de gebruiker zal uiteindelijk de app de schuld geven, en niet hun eigen levenskeuzes.

Als je een sp-font-app gebruikt op een tablet van 160 dpi, zul je merken dat alles groter wordt… behalve je lettertype, dat er in vergelijking klein uit gaat zien. Het ziet er niet goed uit.

Hoewel het idee van “sp”-lettertypen een goed hart heeft, is het een slecht idee. Blijf bij dp voor alles.


Antwoord 16

sp = schaalonafhankelijke pixel

dp = dip = dichtheidsonafhankelijke pixels

dpi = dots per inch

We moeten vermijden sp te gebruiken.

We zouden dp moeten gebruiken om meerdere schermen te ondersteunen.

Android ondersteunt verschillende schermresoluties

  • ldpi (laag) ~120 dpi
  • mdpi (gemiddeld) ~160 dpi
  • hdpi (hoog) ~240 dpi
  • xhdpi (extra hoog) ~320 dpi
  • xxhdpi (extra-extra-hoog) ~480 dpi
  • xxxhdpi (extra-extra-extra-hoog) ~640 dpi

Een 120 dp ldpi-apparaat heeft 120 pixels in een formaat van 1 inch.

Hetzelfde voor andere dichtheden…

Wij als software-engineers zouden deze conversieformule moeten gebruiken:

pixel = dp * (dichtheid / 160)

Dus 240 dpi apparaat 1 dp heeft = 1 * (240/160) = 3/2 = 1,5 pixels.

En 1 dp van een apparaat van 480 dpi heeft = 1 * (480/160) = 3 pixels.

Met deze kennis van 1,5 en 3 pixels kan een software-engineer lay-outs ontwerpen voor verschillende dichtheden.

Om de schermparameters van elk apparaat te controleren:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
Toast.makeText(
    this,
    "4:" + metrics.heightPixels + "," + metrics.density + ","
    + metrics.densityDpi, Toast.LENGTH_LONG).show();

Antwoord 17

Het verschil tussen dp en sp-eenheden die worden genoemd als “voorkeur voor lettergrootte van de gebruiker” door de antwoorden gekopieerd van officiële documentatie, is zichtbaar tijdens het uitvoeren tijd door de optie Settings->Accessibility->Large Text te wijzigen.

Large Text optie dwingt tekst om 1.3 keer groter te worden.

private static final float LARGE_FONT_SCALE = 1.3f;

Dit kan natuurlijk afhankelijk zijn van de leverancier, aangezien het in packages/apps/Settings.


Antwoord 18

dpi –

  • Dots per inch
  • De pixeldichtheid van het scherm meten.

px – pixel

  • Voor het toewijzen van schermpixels

pt – punten

  • Ongeveer 1/72 inch, met betrekking tot de fysieke schermgrootte.

in – inch
– met betrekking tot fysieke schermgrootte (1 inch = 2,54 cm).

mm-millimeter
– met betrekking tot fysieke schermgrootte.

sp – schaalonafhankelijke pixel.

  • Gebaseerd op de voorkeur van de lettergrootte van de gebruiker.
  • Lettertype moet in ‘sp’ staan.

dip –

  • dip == dp
  • Dichtheidsonafhankelijke pixel.
  • Het varieert op basis van schermdichtheid.
  • Op een scherm van 160 dpi, 1 dp = 1 pixel.
  • Gebruik dp behalve de lettergrootte van de tekst.

In standaard worden dp en sp gebruikt. sp voor lettergrootte en dp voor al het andere.

Formule voor het omrekenen van eenheden:

px = dp * ( dpi / 160 );

Density Bucket -> Screen Display => Physical Size        => Pixel Size                   
ldpi         -> 120 dpi          => 0.5 x 0.5 in         => 0.5 in * 120 dpi = 60x60 px   
mdpi         -> 160 dpi          => 0.5 x 0.5 in         => 0.5 in * 160 dpi = 80x80 px   
hdpi         -> 240 dpi          => 0.5 x 0.5 in         => 0.5 in * 240 dpi = 120x120 px  
xhdpi        -> 320 dpi          => 0.5 x 0.5 in         => 0.5 in * 320 dpi = 160x160 px  
xxhdpi       -> 480 dpi          => 0.5 x 0.5 in         => 0.5 in * 480 dpi = 240x240 px 
xxxhdpi      -> 640 dpi          => 0.5 x 0.5 in         => 0.5 in * 640 dpi = 320x320 px  

Antwoord 19

Lees het antwoord van de community-wiki.
Hieronder vindt u enkele informatie waarmee u rekening moet houden als aanvulling op de bovenstaande antwoorden. De meeste Android-ontwikkelaars missen dit bij het ontwikkelen van apps, dus ik voeg deze punten toe.

sp = schaalonafhankelijke pixel

dp = dichtheidsonafhankelijke pixels

dpi = dichtheidspixels

Ik heb de bovenstaande antwoorden doorgenomen… en vond ze niet helemaal correct.
sp voor tekstgrootte, dp voor lay-outgrenzen – standaard.
Maar sp for text size zal de lay-out breken als het onzorgvuldig wordt gebruikt op de meeste apparaten.

sp neemt de tekstgrootte van het apparaat, terwijl dp die van de apparaatdichtheidsstandaard neemt (verander nooit in een apparaat)
Stel dat 100sp-tekst 80% van het scherm of 100% van het scherm kan beslaan, afhankelijk van de lettergrootte die op het apparaat is ingesteld

voer hier de afbeeldingsbeschrijving in

Je kunt sp ook gebruiken voor lay-outgrenzen, het zal werken 🙂
Geen standaard app-gebruik sp voor hele tekst

Gebruik sp en dp voor tekstgrootte, rekening houdend met UX.

  • Gebruik sp niet voor tekst in de werkbalk (kan Android-dimens gebruiken die beschikbaar zijn voor verschillende schermformaten met dp)
  • Gebruik sp niet voor tekst in kleine begrensde knoppen, zeer kleinere tekst, enz.

Sommige mensen gebruiken een enorm FONT-formaat in hun telefoon voor meer leesbaarheid, waardoor het een UX-probleem is om kleine hardgecodeerde tekst te geven. Zet waar nodig sp voor tekst, maar zorg ervoor dat de lay-out niet wordt verbroken wanneer de gebruiker zijn instellingen wijzigt.

Als u een enkele app heeft die alle dimensies ondersteunt, vergroot het toevoegen van xxxhdpi-items de app-grootte aanzienlijk. Maar nu zijn xxxhdpi-telefoons gebruikelijk, dus we moeten ten minste xxxhdpi-items opnemen voor pictogrammen in de zijbalk, de werkbalk en de onderste balk. Het is beter om naar vectorafbeeldingen te gaan om uniforme afbeeldingen van betere kwaliteit te hebben voor alle schermformaten.

Houd er ook rekening mee dat mensen een aangepast lettertype op hun telefoon gebruiken. Dus het ontbreken van een lettertype kan problemen veroorzaken met betrekking tot spatiëring en zo. Stel dat tekstgrootte 12sp voor een aangepast lettertype enkele pixels meer kan kosten dan het standaardlettertype.

Raadpleeg de Google-ontwikkelaarssite voor details over schermdensiteiten en gebaseerde dichtheid voor Android.
https://developer.android.com/training/multiscreen/screendensities


Antwoord 20

Schermgrootte in Android is gegroepeerd in de categorieën small, medium, large, extra large, double-extra en triple-extra. Schermdichtheid is het aantal pixels binnen een gebied (zoals inch) van het scherm. Over het algemeen wordt het gemeten in dots-per-inch (dpi). Schermdichtheid is gegroepeerd als laag, gemiddeld, hoog en extra hoog. Resolutie is het totale aantal pixels in het scherm.

  • dp: Density Independent Pixel, het varieert op basis van de schermdichtheid. In een scherm van 160 dpi is 1 dp = 1 pixel. Behalve voor lettergrootte, gebruik altijd dp.
  • dip: dip == dp. In eerdere Android-versies werd dip gebruikt en later gewijzigd in dp.
  • sp: Scale Independent Pixel, geschaald op basis van de voorkeur van de gebruiker voor lettergrootte. Lettertypen moeten sp gebruiken.
  • px: onze gebruikelijke standaardpixel die wordt toegewezen aan de schermpixel.
  • in: inches, met betrekking tot de fysieke schermgrootte.
  • mm: millimeter, met betrekking tot de fysieke schermgrootte.
  • pt: 1/72 inch, met betrekking tot de fysieke schermgrootte.

Formule voor conversie tussen eenheden

 px = dp * (dpi / 160)

dp naar px in apparaat

Het volgende voorbeeld kan helpen om het beter te begrijpen. De schaling vindt plaats op basis van de bucketgrootte van 120(ldpi), 160(mdpi), 240(hdpi), 320(xhdpi), 480(xxhdpi) en 640(xxxhdpi). De door Google voorgestelde verhouding voor het ontwerpen is 3:4:6:8:12 voor ldpi:mdpi:hdpi:xhdpi:xxhdpi

Een afbeelding van 150px X 150px zal in beslag nemen,

  • 150 dp X 150 dp schermruimte in mdpi
  • 100 dp X 100 dp schermruimte in hdpi
  • 75 dp X 75 dp schermruimte in xhdpi

U kunt de volgende DPI-calculator gebruiken om uw afbeeldingsformaten en andere afmetingen vast te stellen als u een uniform UI-ontwerp op alle Android-apparaten wilt hebben.

DPI-calculator in Java

/*
Program output
LDPI: 165.0 X 60.0
MDPI: 220.0 X 80.0
HDPI: 330.0 X 120.0
XHDPI: 440.0 X 160.0
XXHDPI: 660.0 X 240.0
XXXHDPI: 880.0 X 320.0
*/
public class DPICalculator {
private final float LDPI = 120;
private final float MDPI = 160;
private final float HDPI = 240;
private final float XHDPI = 320;
private final float XXHDPI = 480;
private final float XXXHDPI = 640;    
private float forDeviceDensity;
private float width;
private float height;
public DPICalculator(float forDeviceDensity, float width, float height){
    this.forDeviceDensity = forDeviceDensity;
    this.width = width;
    this.height = height;
}
public static void main(String... args) {
    DPICalculator dpiCalculator = new DPICalculator(240,330,120);
    dpiCalculator.calculateDPI();
}
private float getPx(float dp, float value) {
    float px = dp * (value / forDeviceDensity );        
    return px;
}
private void calculateDPI() {
    float ldpiW = getPx(LDPI,width);        
    float ldpiH =  getPx(LDPI,height);
    float mdpiW = getPx(MDPI,width);        
    float mdpiH =  getPx(MDPI,height);        
    float hdpiW = getPx(HDPI,width);        
    float hdpiH =  getPx(HDPI,height);       
    float xdpiW = getPx(XHDPI,width);        
    float xdpiH =  getPx(XHDPI,height);
    float xxdpiW = getPx(XXHDPI,width);        
    float xxdpiH =  getPx(XXHDPI,height);
    float xxxdpiW = getPx(XXXHDPI,width);        
    float xxxdpiH =  getPx(XXXHDPI,height);
    System.out.println("LDPI: " + ldpiW + " X " + ldpiH);
    System.out.println("MDPI: " + mdpiW + " X " + mdpiH);
    System.out.println("HDPI: " + hdpiW + " X " + hdpiH);
    System.out.println("XHDPI: " + xdpiW + " X " + xdpiH);
    System.out.println("XXHDPI: " + xxdpiW + " X " + xxdpiH);
    System.out.println("XXXHDPI: " + xxxdpiW + " X " + xxxdpiH);        
   }
}

Meer informatie zie de volgende link.

http:/ /javapapers.com/android/difference-between-dp-dip-sp-px-in-mm-pt-in-android/


Antwoord 21

Dit is de formule die door Android wordt gebruikt:

px = dp * (dpi / 160)

Waarbij dpi een van de volgende schermdichtheden is. Voor een lijst van alle mogelijke dichtheden ga hier

Het definieert de “DENSITY_*” constanten.

  • ldpi (laag) ~120dpi
  • mdpi (gemiddeld) ~160 dpi
  • hdpi (hoog) ~240 dpi
  • xhdpi (extra hoog) ~320dpi
  • xxhdpi (extra-extra-hoog) ~480dpi
  • xxxhdpi (extra-extra-extra-hoog) ~640 dpi

Genomen van hier.

Dit lost veel verwarring op bij het vertalen tussen px en dp, als u uw scherm-dpi kent.

Dus, laten we zeggen dat je een afbeelding van 60 dp wilt voor een hdpi-scherm, dan is de fysieke pixelgrootte van 60 dp:

px = 60 * (240 / 160)

Antwoord 22

  • px – één pixel, hetzelfde als wat wordt gebruikt in CSS, JavaScript, enz.
  • sp – schaalonafhankelijke pixels
  • dip – dichtheidsonafhankelijke pixels

Normaal gesproken wordt sp gebruikt voor lettergroottes, terwijl dip wordt gebruikt (ook wel dp genoemd) voor andere.


Antwoord 23

Ik ben een goed artikel tegengekomen over het ontwerpen van de gebruikersinterface van Android-apps voor verschillende schermresoluties, en ik wil het hier laten voor iemand die in dit gebied zoekt. Ja, ik weet dat het op de een of andere manier wordt beschreven in Google-documenten (en vermeld in de berichten hierboven), ik heb dat gelezen, maar het was niet goed voor mij (ja, ik ben misschien te dom)). Het bleef voor mij onduidelijk hoe ik lay-outs moest ontwerpen die in staat waren om verschillende schermformaten aan te kunnen. Ik haat het DP-concept enzovoort, wanneer ik een “flexibele” UI-lay-out voor verschillende schermen moet implementeren. (Hallo iOS-ontwikkelaars – ja, je hebt gelijk, het is het Storyboard-concept).

Android heeft geen slecht UI-concept, maar mist helaas iOS Storyboard-functies. Het ontwerpen van een flexibele gebruikersinterface in Android is niet eenvoudig (op zijn best).

Hier komt het artikel dat me heeft geholpen te begrijpen wat ik in Android moet doen om lay-outs te maken voor verschillende schermformaten:

JMSTUDIO Blog: – Bepaal de schermgrootte van de Android-app

Een gebruikersinterface ontwerpen voor Android-apps voor verschillende schermformaten

Om een ​​app-gebruikersinterface voor verschillende schermformaten te ontwerpen, moet ons oorspronkelijke ontwerp
voldoen aan een minimaal vereiste ruimte voor elke schermgrootte. Android definieert een
minimumgrootte (in dp) voor elk gegeneraliseerd schermtype. Hier is een
Richtlijn voor Android-schermgrootte.
Minimale schermgrootte voor Android in dp
Wanneer we de schermgrootte in dp krijgen, is het niet genoeg voor ons om te ontwerpen
de gebruikersinterface van de Android-app. Voor elke schermgrootte moeten we afbeeldingen voorbereiden
en bitmapafbeeldingen voor elke dichtheid. Hier is een Android-schermdichtheid
richtlijn.
Android-dichtheidsrichtlijn (dpi)

Voor een eenvoudige berekening kunnen we de schaalverhouding 3:4:6:8 volgen tussen
de vier gegeneraliseerde dichtheden. Als we een afbeelding van 36?36 pixels maken voor
ldpi-apparaat, de rest van de foto’s met dichtheden is 48? 48 voor mdpi,
72?72 voor hdpi en 96?96 voor xhdpi.

De gebruikersinterface voor Android-apps ontwerpen in Photoshop

Veel ontwerpers hebben problemen met het ontwerpen van de gebruikersinterface van Android-apps in photoshop of een andere pixel
gebaseerde grafische ontwerptools vanwege de dichtheidsonafhankelijke eenheid, dp.
Ontwerpers weten niet hoe ze dp naar pixel moeten toewijzen. Google geeft ook niet
een duidelijke Android UI-ontwerpgids voor hen, hoewel ze een basis geven
formule voor dp- en pixelvertaling.

In de definitie van Android is 1pd gelijk aan 1px onder 160 dpi-apparaat (mdpi).
Dus we willen een Android-app ontwerpen voor een xlarge Android-apparaat met:
mdpi-dichtheid, we kunnen onze UI-grootte in pixel definiëren als 960 pixel breed
en 720px hoog; Volg dezelfde toewijzingsregel, we kunnen krijgen
volgende UI-ontwerprichtlijn voor schermgrootte van Android-app:

Android-app-schermgrootte in pixelrichtlijn

TOEGEVOEGD: als je ook geïnteresseerd bent in een “flexibele” gebruikersinterface, bekijk dan deze bibliotheek: Een Android SDK die een nieuwe maateenheid biedt: sdp (schaalbare dp). Deze maateenheid schaalt met de schermgrootte (dit wordt ook vermeld in een antwoord hier, over de SDP-bibliotheek)

ADDED2 Google heeft eindelijk het nut van het iOS Storeboard UI-concept begrepen, en hier komt ConstraintLayout voor de Android-wereld: Bouw een responsieve gebruikersinterface met ConstraintLayout


Antwoord 24

1) dp: (density independent pixels)

Het aantal pixels dat wordt weergegeven in één dp-eenheid neemt toe naarmate de schermresolutie toeneemt (wanneer u meer dots/pixels per inch heeft). Omgekeerd zal op apparaten met een lagere resolutie het aantal pixels dat wordt weergegeven in de eenheid dp afnemen. Aangezien dit een relatieve eenheid is, moet deze een basislijn hebben om mee te vergelijken. Deze basislijn is een scherm van 160 dpi. Dit is de vergelijking: px = dp * (dpi / 160).

2) sp: (scale independent pixels)

Dit apparaat schaalt volgens de scherm-dpi (vergelijkbaar met dp) en de voorkeur van de gebruiker voor lettergrootte.

3) px: (pixels)

Werkelijke pixels of stippen op het scherm.

Voor meer details kunt u terecht op

Handleiding voor Android-ontwikkelaars > Dimensie
Handleiding voor Android-ontwikkelaars > Schermen


Antwoord 25

Schermgrootte in Android is gegroepeerd in de categorieën ldpi, mdpi, hdpi, xhdpi, xxhdpi en xxxhdpi. Schermdichtheid is het aantal pixels binnen een gebied (zoals inch) van het scherm. Over het algemeen wordt het gemeten in dots-per-inch (dpi).

PX(Pixels):

  • onze gebruikelijke standaardpixel die wordt toegewezen aan de schermpixel. px is bedoeld voor absolute pixels. Dit wordt gebruikt als je wilt geven in termen van absolute pixels voor breedte of hoogte. Niet aanbevolen.

DP/DIP(Density pixels / Density independent pixels):

  • dip == dp. In eerdere Android-versies werd dip gebruikt en later gewijzigd in dp. Dit is een alternatief voor px.

  • Over het algemeen gebruiken we px nooit omdat het een absolute waarde is. Als u px gebruikt om de breedte of hoogte in te stellen, en als die toepassing wordt gedownload naar apparaten met een ander schermformaat, zal die weergave niet worden uitgerekt volgens de oorspronkelijke schermgrootte.

  • dp wordt sterk aanbevolen om te gebruiken in plaats van px. Gebruik dp als u breedte en hoogte wilt vermelden om te groeien & krimp dynamisch op basis van schermformaten.

  • als we dp/dip geven, berekent Android automatisch de pixelgrootte op basis van een scherm van 160 pixels.

SP(Scale independent pixels):

  • geschaald op basis van de voorkeur van de gebruiker voor lettergrootte. Lettertypen moeten sp gebruiken.

  • gebruik sp als je de lettergroottes vermeldt die geschikt zijn voor verschillende schermformaten. Dit is vergelijkbaar met dp.Gebruik sp speciaal om de lettergrootte te laten groeien & krimp dynamisch op basis van schermformaten

Android-documentatie zegt:

gebruik bij het opgeven van afmetingen altijd de eenheden dp of sp. Een dp is
een dichtheidsonafhankelijke pixel die overeenkomt met de fysieke grootte van a
pixel bij 160 dpi. Een sp is dezelfde basiseenheid, maar wordt geschaald door de
de gewenste tekstgrootte van de gebruiker (het is een schaalonafhankelijke pixel), zodat u
moet deze maateenheid gebruiken bij het definiëren van de tekstgrootte


Antwoord 26

Het scherm van een mobiele telefoon bestaat uit duizenden kleine puntjes die bekend staan ​​als pixels (px). Een pixel is het kleinste element dat de foto maakt. Hoe meer pixels er nodig zijn om een ​​afbeelding of tekst te maken, hoe scherper deze wordt en hoe beter het scherm van de smartphone leesbaar wordt.

De schermresolutie wordt gemeten in termen van het aantal pixels op het scherm. Schermresolutie is een veelgebruikte specificatie bij het kopen van een apparaat, maar het is eigenlijk niet zo handig bij het ontwerpen voor Android, omdat het denken aan schermen in termen van pixels voorbijgaat aan het idee van fysieke grootte, wat voor een aanraakapparaat echt heel belangrijk is.

Dichtheidsonafhankelijke pixel (dp of dip) stellen de ontwerper in staat om items te maken die op een verwachte manier verschijnen, ongeacht de resolutie of dichtheid van het doelapparaat.

Een dichtheidsonafhankelijke pixel (dp of dip) is gelijk aan één pixel bij de basislijndichtheid of 160 dpi (dots per inch).

1 px/1dp = 160 dpi/160 dpi

2 px/1dp = 320 dpi(2x)/160 dpi

waar,

dpi is punten per inch

Dus bij 320 dpi is 1 dp gelijk aan 2 px.

Formule

px/dp = dpi/160dpi

Dots per inch (dpi) is een maat voor de scherpte (dat wil zeggen, de dichtheid van verlichte punten) op een beeldscherm. De dots per inch voor een bepaalde beeldresolutie zullen verschillen op basis van de totale schermgrootte, aangezien hetzelfde aantal pixels over een andere ruimte wordt verspreid.

Werken met dichtheidsonafhankelijke pixels helpt ons om te gaan met een situatie waarin je twee apparaten hebt met dezelfde pixelresolutie, maar een verschillende hoeveelheid ruimte. Stel dat een tablet en telefoon in een hoesje dezelfde pixelresolutie van respectievelijk 1280 bij 800 pixels (160 dpi) en 800 bij 1280 pixels (320 dpi) hebben.

Omdat een tablet nu de basislijndichtheid (160 dpi) heeft, zijn de fysieke en dichtheidsonafhankelijke pixels hetzelfde, 1280 bij 800. De telefoon daarentegen heeft een hogere pixeldichtheid, dus de helft minder dichtheidsonafhankelijke pixels als fysieke pixels. Een telefoon heeft dus 400 bij 640 dichtheidsonafhankelijke pixels. Dus het gebruik van een dichtheidsonafhankelijke pixel maakt het gemakkelijker om je mentaal voor te stellen dat de tablet veel meer ruimte heeft dan de telefoon.

Als u twee apparaten heeft met een vergelijkbare schermgrootte, maar met een verschillende pixeldichtheid, bijvoorbeeld een van 800 bij 1280 pixels (320 dpi) en de andere van 400 bij 640 pixels (160 dpi), hebben we geen om totaal verschillende lay-outs voor deze twee apparaten te definiëren, omdat we activa kunnen meten in termen van dichtheidsonafhankelijke pixel die hetzelfde is voor beide apparaten.

800 bij 1280 pixels (320dpi)=400 bij 640 dichtheidsonafhankelijke pixels (dp)

400 bij 640 pixels (160 dpi)=400 bij 640 dichtheid onafhankelijke pixels (dp)

Scale onafhankelijke pixels(sp) is de voorkeurseenheid voor lettergrootte.
Voor toegankelijkheidsdoeleinden kunnen gebruikers met Android de lettergrootte van hun apparaat aanpassen. Gebruikers die moeite hebben met het lezen van tekst, kunnen de lettergrootte van hun apparaat vergroten. Deze optie vind je normaal gesproken terug in de weergave-instelling op je telefoon of tablet onder lettergrootte. Het is vaak ook beschikbaar via de toegankelijkheidsinstellingen.

Met schaalonafhankelijke pixels is 16 sp precies hetzelfde als 16 dp wanneer de lettergrootte van het apparaat normaal of 100% is. Maar als de lettergrootte van het apparaat groot is, bijvoorbeeld 125%, wordt 16 sp vertaald naar 20 dp of 1,25 keer 16.

Als je dp gebruikt als de eenheid voor lettergrootte, dan heeft dat stuk tekst een specifieke fysieke grootte, ongeacht of de gebruiker de lettergrootte van het apparaat heeft aangepast. Het gebruik van sp-eenheden zorgt voor een betere ervaring voor mensen met een verminderd gezichtsvermogen.

Referentie: Udacity, Google


Antwoord 27

Pixeldichtheid

De pixeldichtheid en resolutie van het scherm variëren afhankelijk van het platform. Apparaatonafhankelijke pixels en schaalbare pixels zijn eenheden die een flexibele manier bieden om een ​​ontwerp op verschillende platforms te accommoderen.

pixeldichtheid berekenen

Het aantal pixels dat in een inch past, wordt pixeldichtheid genoemd. Schermen met hoge dichtheid hebben meer pixels per inch dan schermen met lage dichtheid….

Het aantal pixels dat in een inch past, wordt pixeldichtheid genoemd. Schermen met een hoge dichtheid hebben meer pixels per inch dan schermen met een lage dichtheid. Als gevolg hiervan lijken UI-elementen met dezelfde pixelafmetingen groter op schermen met een lage dichtheid en kleiner op schermen met een hoge dichtheid.

Om de schermdichtheid te berekenen, kunt u deze vergelijking gebruiken:

Schermdichtheid = Schermbreedte (of hoogte) in pixels / Schermbreedte (of hoogte) in inches

Hoge dichtheid vs lagere dichtheid displays

Onafhankelijkheid van dichtheid

De pixeldichtheid en resolutie van het scherm variëren afhankelijk van het platform. Apparaatonafhankelijke pixels en schaalbare pixels zijn eenheden die een flexibele manier bieden om een ​​ontwerp op verschillende platforms te accommoderen.

pixeldichtheid berekenen
Het aantal pixels dat in een inch past, wordt pixeldichtheid genoemd. Schermen met hoge dichtheid hebben meer pixels per inch dan schermen met lage dichtheid….

Onafhankelijkheid van dichtheid verwijst naar de uniforme weergave van UI-elementen op schermen met verschillende dichtheden.

Dichtheidsonafhankelijke pixels, geschreven als dp (uitgesproken als dips ), zijn flexibele eenheden die kunnen worden geschaald om uniforme afmetingen te hebben op elk scherm. Materiaal-UI’s gebruiken dichtheidsonafhankelijke pixels om elementen consistent weer te geven op schermen met verschillende dichtheden.

  1. Scherm met lage dichtheid weergegeven met dichtheidsonafhankelijkheid
  2. Scherm met hoge dichtheid weergegeven met dichtheidsonafhankelijkheid

Volledige tekst lezen
https://material.io/design/layout/pixel-density.html


Antwoord 28

sp: schaal onafhankelijke pixel

Je moet het gebruiken met teksten omdat het automatisch wordt geschaald volgens de lettergrootte die door de gebruiker op zijn apparaat wordt gebruikt.

px: pixel of afbeeldingselement is het enige punt op het scherm


Antwoord 29

Pixels(px) komt overeen met de werkelijke pixels op het scherm. Dit wordt gebruikt als je wilt geven in termen van absolute pixels voor breedte of hoogte.

Dichtheidsonafhankelijke pixels (dp of dip) een abstracte eenheid die is gebaseerd op de fysieke dichtheid van het scherm. Deze eenheden zijn relatief ten opzichte van een 160 dpi scherm, dus één dp is één pixel op een 160 dpi scherm. De verhouding van dp tot pixel zal veranderen met de schermdichtheid, maar niet noodzakelijk in directe verhouding. Opmerking: de compiler accepteert zowel dip als dp , hoewel dp consistenter is met sp .

Schaalonafhankelijke Pixels(sp) dit is vergelijkbaar met de dp-eenheid, maar wordt ook geschaald door de voorkeur van de gebruiker voor lettergrootte. Het wordt aanbevolen dit toestel te gebruiken bij het specificeren van lettergroottes, zodat deze worden aangepast aan zowel de schermdichtheid als de voorkeur van de gebruiker.

Gebruik altijd alleen dp en sp. sp voor lettergroottes en dp voor al het andere. Het maakt de gebruikersinterface compatibel voor Android-apparaten met verschillende dichtheden.
U kunt meer leren over pixel en dp van
https:// www.google.com/design/spec/layout/units-measurements.html#units-measurements-density-independent-pixels-dp-

Bron-URL:- http://www.androidtutorialshub.com/what-is-the-difference-between-px-dp-dip-sp-on-android/


Antwoord 30

Ik wil een gemakkelijke manier bieden om dp te begrijpen. Ik denk zelfs dat dp het gemakkelijkst te begrijpen is. dp is slechts een fysieke lengte-eenheid. Het heeft dezelfde afmeting als mm of inch. Het is gewoon handig voor ons om 50dp, 60dp te schrijven in plaats van 50/160 inch of 60/160 inch, omdat één dp slechts 1/160 inch is, ongeacht de schermgrootte of resolutie.

Het enige probleem is dat de Android-dpi van sommige schermen niet nauwkeurig is. Een scherm dat bijvoorbeeld is geclassificeerd als 160 dpi, kan inderdaad 170 dpi hebben. Het berekeningsresultaat van dp is dus vaag. Het moet ongeveer hetzelfde zijn als 1/160 inch.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Other episodes