“Px”, “dip”, “dp” සහ “sp” අතර වෙනස කුමක්ද?


5818

ඇන්ඩ්‍රොයිඩ් මිනුම් ඒකක අතර වෙනස කුමක්ද?

  • px
  • බිංදු
  • dp
  • sp

65
මෙම Android [තුළ px, පැමිනෙන, ඩී.පී. හා එස්පී අතර භාවිතය පූර්ණ වෙනස developer.android.com/guide/topics/resources/...
NagarjunaReddy

20
මෙම නිෆ්ටි පරිවර්තකය එය වඩාත් හොඳින් පෙන්නුම් කරයි , මගේ මතය අනුව. Photoshop වෙතින් ස්ප්‍රීතු අපනයනය කිරීමට හෝ භෞතික මානයක් සඳහා ඔබේ පිරිසැලසුම සැලසුම් කිරීමට ද එය අතිශයින්ම ප්‍රයෝජනවත් වේ.
පෝල් ලැමර්ට්ස්මා

9
ගූගල් නිර්මාණ ඒකක සහ මිනුම්
අර්නව් එම්.


1
පික්සල්-ඝණත්වය ද්රව්ය නිර්මාණය material.io/design/layout/...
Shomu

Answers:


5775

සිට Android සංවර්ධක Documentation :

  1. px
    පික්සෙල් - තිරයේ ඇති සැබෑ පික්සල් වලට අනුරූප වේ.

  2. දී
    අඟල් - තිරයේ භෞතික ප්රමාණය මත.
    1 අඟල් = සෙන්ටිමීටර 2.54

  3. mm
    මිලිමීටර - තිරයේ භෞතික ප්‍රමාණය මත පදනම්ව.

  4. pt
    ලකුණු - තිරයේ භෞතික ප්‍රමාණය මත පදනම්ව අඟල් 1/72 ක්.

  5. ප්රජාතන්ත්රවාදී පක්ෂය හෝ පැමිනෙන
    ඝනත්වය පික්සල -independent - තිරයේ භෞතික ඝනත්වය මත පදනම් වෙලා කටයුතු කරන බව ද වියුක්ත ඒකකය. මෙම ඒකක 160 dpi තිරයකට සාපේක්ෂ වේ, එබැවින් එක් dp 160 dpi තිරයක එක් පික්සෙල් වේ. තිරයේ ity නත්වය සමඟ dp-to-pixel අනුපාතය වෙනස් වනු ඇත, නමුත් අවශ්‍යයෙන්ම සෘජු සමානුපාතිකව නොවේ. සටහන: සම්පාදකයා "ඩිප්" සහ "ඩීපී" යන දෙකම පිළිගනී, නමුත් "ඩීපී" "එස්පී" සමඟ වඩා අනුකූල වේ.

  6. sp
    පරිමාණය මත රඳා පවතින පික්සෙල් - මෙය dp ඒකකය වැනි ය, නමුත් එය පරිශීලකයාගේ අකුරු ප්‍රමාණයේ මනාපය අනුව පරිමාණය කර ඇත. අකුරු ප්‍රමාණ නියම කිරීමේදී මෙම ඒකකය භාවිතා කිරීම රෙකමදාරු කරනු ලැබේ, එබැවින් ඒවා තිර dens නත්වය සහ පරිශීලකයාගේ මනාපය යන දෙකම සඳහා සකස් කරනු ලැබේ.

සිට අවබෝධතා ඝනත්වය නිදහස් දී ඇන්ඩ්රොයිඩ් :

+----------------+----------------+---------------+-------------------------------+
| Density Bucket | Screen Density | 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 | 
+----------------+----------------+---------------+-------------------------------+
+---------+-------------+---------------+-------------+--------------------+
| Unit    | Description | Units Per     | Density     | Same Physical Size | 
|         |             | Physical Inch | Independent | On Every Screen    | 
+---------+-------------+---------------+-------------+--------------------+
| px      | Pixels      | Varies        | No          | No                 | 
+---------+-------------+---------------+-------------+--------------------+
| in      | Inches      | 1             | Yes         | Yes                | 
+---------+-------------+---------------+-------------+--------------------+
| mm      | Millimeters | 25.4          | Yes         | Yes                | 
+---------+-------------+---------------+-------------+--------------------+
| pt      | Points      | 72            | Yes         | Yes                | 
+---------+-------------+---------------+-------------+--------------------+
| dp      | Density     | ~160          | Yes         | No                 | 
|         | Independent |               |             |                    | 
|         | Pixels      |               |             |                    | 
+---------+-------------+---------------+-------------+--------------------+
| sp      | Scale       | ~160          | Yes         | No                 | 
|         | Independent |               |             |                    | 
|         | Pixels      |               |             |                    | 
+---------+-------------+---------------+-------------+--------------------+

වැඩි විස්තර ගූගල් නිර්මාණ ප්‍රලේඛනයෙන් ද සොයාගත හැකිය .


17
ඒවා එකම දේ විය යුතු වුවත්, මට
ඩීපී

247
මුළුමනින්ම පැහැදිලි නොවන db / sp පිළිබඳ එක් සටහනක්: මේවා සඳහා සිදුවන පරිමාණය රඳා පවතින්නේ උපාංගවල සැබෑ ity නත්වය (dpi) මත නොව එය "dens නත්වයේ" බාල්දිය "මතට වැටේ: පවතින බාල්දි: 120,160,240,320. මෙය සැලකිය යුතු ලෙස වෙනස් නමුත් බාල්දියට සමාන තිර හැසිරවීමේදී සමහර ගැටලු ඇති කළ හැකිය.
Fraggle

15
සම්පාදකයා තවමත් "ඩිප්" පිළිගන්නා බවක් පෙනෙන්නට තිබුණද, ලියකියවිලි තවදුරටත් "ඩිප්" ගැන සඳහන් නොකරයි.
ඇඩම් රොසෙන්ෆීල්ඩ්

15
@android_developer (ඉහත 5 විවරණ) dpනැහැ නැහැ හරියටම සමාන භෞතික දිග ඇති. (එය ආසන්න වුවද.) @ බාල්දිය ගැන ෆ්‍රැගල්ගේ අදහස බලන්න. මෙයින් අදහස් කරන්නේ 48dp දළ වශයෙන් 8mm (අඟල් 0.3) ක් වනු ඇති නමුත් එය 11mm දක්වා වෙනස් විය හැකි බවයි.
intrepidis

11
බාල්දි දැමීමට හේතුව, විවිධ dens නත්වයකින් යුත් උපාංග කිහිපයකින් සංවර්ධකයින්ට ඔවුන්ගේ යෙදුම් පරීක්ෂා කිරීමට හැකි වන අතර පිරිසැලසුම් රාශියක පිරිසැලසුම එක හා සමාන වනු ඇති බවට විශ්වාසයෙන් සිටින්න. එබැවින් බොත්තම් ආදියෙහි භෞතික ප්‍රමාණය මඳක් වෙනස් වුවද, ක්‍රියාකාරකමක සමස්ත පෙනුම සමාන වේ.
intrepidis

685

මේ පිළිබඳ බොහෝ දේ සහ විවිධ ප්‍රමාණයේ සහ ities නත්වයේ බහු තිර සඳහා හොඳම සහාය ලබා ගන්නේ කෙසේද යන්න මෙහි ඉතා හොඳින් ලේඛනගත කර ඇත:

තිර ප්‍රමාණය
තථ්‍ය භෞතික ප්‍රමාණය, තිරයේ විකර්ණය ලෙස මනිනු ලැබේ. සරල බව සඳහා, ඇන්ඩ්‍රොයිඩ් සියළුම සත්‍ය තිර ප්‍රමාණයන් සාමාන්‍යකරණය කළ ප්‍රමාණ හතරකට කාණ්ඩ කරයි: කුඩා, සාමාන්‍ය, විශාල සහ අමතර-විශාල.

තිර dens නත්වය තිරයේ
භෞතික ප්‍රදේශයක් තුළ ඇති පික්සෙල් ගණන; සාමාන්‍යයෙන් dpi (අඟල් එකකට තිත්) ලෙස හැඳින්වේ. උදාහරණයක් ලෙස, “සාමාන්‍ය” හෝ “ඉහළ” dens නත්ව තිරයකට සාපේක්ෂව “අඩු” screen නත්ව තිරයක් ලබා දී ඇති භෞතික ප්‍රදේශයක් තුළ පික්සෙල් අඩු වේ. සරල බව සඳහා, ඇන්ඩ්‍රොයිඩ් සියළුම සත්‍ය තිර ities නත්වයන් සාමාන්‍යකරණය කළ six නත්ව හයකට බෙදේ: අඩු, මධ්‍යම, ඉහළ, අමතර-ඉහළ, අමතර-අතිරේක-ඉහළ සහ අමතර-අතිරේක-ඉහළ.

දිශානතිය
පරිශීලකයාගේ දෘෂ්ටි කෝණයෙන් තිරයේ දිශානතිය. මෙය භූ දර්ශනය හෝ ආලේඛ්‍ය චිත්‍රයකි, එයින් අදහස් වන්නේ තිරයේ දර්ශන අනුපාතය පිළිවෙලින් පුළුල් හෝ උස බවයි. පෙරනිමියෙන් විවිධ උපාංග විවිධ දිශානතීන් තුළ ක්‍රියාත්මක වනවා පමණක් නොව, පරිශීලකයා උපාංගය භ්‍රමණය වන විට ධාවන වේලාවේ දිශානතිය වෙනස් විය හැකි බව මතක තබා ගන්න.

විභේදනය
තිරයක ඇති භෞතික පික්සල් ගණන. බහු තිර සඳහා සහය එක් කරන විට, යෙදුම් සෘජුවම විභේදනය සමඟ ක්‍රියා නොකරයි; යෙදුම් සැලකිලිමත් විය යුත්තේ සාමාන්‍යකරණය කළ ප්‍රමාණය හා ity නත්ව කණ්ඩායම් විසින් නියම කර ඇති පරිදි තිරයේ ප්‍රමාණය හා ity නත්වය සමඟ පමණි.

Ens නත්ව-ස්වාධීන පික්සෙල් (dp)
UI පිරිසැලසුම නිර්වචනය කිරීමේදී, පිරිසැලසුම් මානයන් ප්‍රකාශ කිරීමට හෝ position නත්ව-ස්වාධීන ආකාරයකින් ස්ථානගත කිරීමට ඔබ භාවිතා කළ යුතු අතථ්‍ය පික්සල් ඒකකය. D නත්ව-ස්වාධීන පික්සෙල් 160 dpi තිරයක එක් භෞතික පික්සෙල් එකකට සමාන වේ, එය "මධ්‍යම" dens නත්ව තිරයක් සඳහා පද්ධතිය විසින් උපකල්පනය කරන ලද මූලික dens නත්වය වේ. ධාවන වේලාවේදී, භාවිතයේ ඇති තිරයේ සත්‍ය dens නත්වය මත පදනම්ව, අවශ්‍ය පරිදි පද්ධතිය dp ඒකකවල ඕනෑම පරිමාණයක් විනිවිදභාවයෙන් හසුරුවයි. Dp ඒකක තිර පික්සෙල් බවට පරිවර්තනය කිරීම සරල ය : px = dp * (dpi / 160). උදාහරණයක් ලෙස, 240 dpi තිරයක 1 dp භෞතික පික්සල් 1.5 ට සමාන වේ. විවිධ .නත්වයන් සහිත තිරවල ඔබේ UI නිසි ලෙස ප්‍රදර්ශනය කිරීම සහතික කිරීම සඳහා, ඔබේ යෙදුමේ UI නිර්වචනය කිරීමේදී ඔබ සැමවිටම dp ඒකක භාවිතා කළ යුතුය.

එක් වර්ගයකට වඩා වැඩි උපාංගයක් සඳහා ඇන්ඩ්‍රොයිඩ් යෙදුමක් සංවර්ධනය කිරීම පිළිබඳව ඔබ කිසියම් බැරෑරුම් නම්, අවම වශයෙන් එක් වරක් වත් තිර ආධාරක සංවර්ධන ලේඛනය කියවා තිබිය යුතුය. ඊට අමතරව, විශේෂිත තිර වින්‍යාසයක් ඇති ක්‍රියාකාරී උපාංගවල සත්‍ය සංඛ්‍යාව දැන ගැනීම සැමවිටම හොඳ දෙයකි.


41
එබැවින් ඔබ බොත්තමක් සඳහා dp සහ බොත්තම් පෙළෙහි අකුරු ප්‍රමාණය සඳහා sp භාවිතා කරන්නේ නම්, පරිශීලකයා පරිමාණය ආරම්භ කළ විට කුමක් සිදුවේද? පෙළ විශාල වනු ඇත, නමුත් බොත්තම ද විශාල කිරීමෙන් මෙය අනුගත වේද?
Wytze

11
Y වයිට්සි, නෑ. පෙළ ගැළපීම ගැටලුවක් විය හැකි දේවල් සඳහා, මම ඩිප් භාවිතා කරමි, එවිට දේවල් පිටාර ගැලෙන්නේ නැත.
එස්කි

12
Y වයිට්ස් සහ මම ඊට පටහැනිව, පෙළ සහ එහි අඩංගු ඕනෑම දෙයක් සඳහා sp භාවිතා කරමි. නිදසුනක් ලෙස, මා සතුව ස්ථාවර ප්‍රමාණයක් සහිත බොත්තමක් සහ එහි පෙළක් තිබේ නම්, මම බොත්තම් ප්‍රමාණය sp ලෙස පවරමි, එවිට අවශ්‍ය විටෙක එය පරිමාණය වේ. එසේ නොමැතිනම්, ඔහු පෙළෙහි ප්‍රමාණය වැඩි කළ බවට පරිශීලකයා කෝපයට පත් වනු ඇති අතර එය වැඩි නොවීය. ඇත්ත වශයෙන්ම, පිරිසැලසුම එයට ඉඩ දීමට තරම් නම්යශීලී විය යුතුය.
මැල්කම්

2
ඔබේ නිර්මාණකරුවන් පෙළ මත පදනම් වූ මූලද්‍රව්‍ය ප්‍රමාණයට අනුව පරිමාණයට ඉඩ නොතබන්නේ නම්, එක් විකල්පයක් වන්නේ ඔබ පටු උපාංගයක් සඳහා භාවිතා කරන ඕනෑම පිරිසැලසුමකට මාරුවීමයි, ඉන්පසු සෑම දෙයක්ම ඒකාකාරව පරිමාණය කරන්න (DisplayMetrics.scaledDensity / DisplayMetrics. ity නත්වය).
ජෝන් මෙලර්

18 නිදහස් ඉඩක් නොමැතිකම i18n කාලය තුළ ගැටළු ඇති කරයි
ක්‍රියාකාරකම් අඩු කිරීම

347

Dp හරියටම px බවට පරිවර්තනය කරන්නේ කෙසේද යන්න පිළිබඳව මම වැඩි විස්තර කරන්නම්:

  • එම්ඩීපී උපාංගයක් මත ධාවනය වන්නේ නම්, 150 x 150 pxරූපයක් 150 * 150 dpතිර අවකාශය ගනී.
  • HDp උපාංගයක් මත ධාවනය වන්නේ නම්, 150 x 150 pxරූපයක් 100 * 100 dpතිර අවකාශය ගනී.
  • Xhdpi උපාංගයක් මත ධාවනය වන්නේ නම්, 150x150 pxරූපයක් 75 * 75 dpතිර අවකාශය ගනී.

අනෙක් පැත්ත: කියන්න, ඔබේ යෙදුමට රූපයක් එක් කිරීමට ඔබට අවශ්‍ය අතර 100 * 100 dpපාලනයක් පිරවීමට ඔබට එය අවශ්‍ය වේ. සහාය දක්වන තිර ප්‍රමාණයන් සඳහා ඔබට විවිධ ප්‍රමාණයේ රූප සෑදිය යුතුය:

  • 100 * 100 px mdpi සඳහා රූපය
  • 150 * 150 px hdpi සඳහා රූපය
  • 200 * 200 px xhdpi සඳහා රූපය

2
Hdpi, ldpi, mdpi යනාදිය සඳහා අපි පික්සෙල් ගණනය කරන්නේ කෙසේද? මම මෙම සූත්‍රය භාවිතා කරන බව මට අසන්නට ලැබුණි..px = dp * (dpi / 160); ඔබට මෙම සූත්‍රය plz සමඟ පැහැදිලි කළ හැකිද?
රාකේෂ් පටංග

AkRakeshpatanga 160 dpi dens නත්වයේ දී, 1 px = 1 dp (භෞතික පික්සෙල් සහ dp වියුක්ත කිරීම සමාන වේ). එනම්, එක් dp සඳහා අපට (1) * (160/160) = 1, හෝ හරියටම 1 px ඇත. 320 dpi හි වැඩි dens නත්වයේ දී, එක් dp එකක් (1) * (320/160) = පික්සල් 2 ක් වන අතර dp දෙකක් දෙකක් (2) * (320/160) = 4 px වේ.
samis

බැලීමට මොනෝ අවකාශයේ මේවා පෙළගස්වන්න: | 1dp |, | ___ | ___ | 160, | _ | _ | _ | _ | 320 (කොමාවකින් පසු රේඛා බිඳීම් තබන්න). | _ | = 1 p i x el.
samis

re "සහාය දක්වන තිර ප්‍රමාණයන් සඳහා ඔබට විවිධ ප්‍රමාණයේ රූප සෑදිය යුතුය:" එය රඳා පවතී. සඳහා කුඩා ඉහළ වෙනස් , රූප, උදා: අයිකන, එය (විශාල සංස්කරණ බොඳවුණ බලන්න එපා ඒ නිසා බව) අවම වශයෙන් කුඩා ප්රමාණය (වග පැහැදිලි වනු ඇත විය) එකතු තරමක් විශාල ප්රමාණයේ නිර්මාණය කිරීම ඥානවන්ත දෙයක්. නමුත් අයිකන සඳහා වුවද, එක් රූපයක් විශාල ප්‍රමාණයේ, වැඩි .නත්වයකින් පරිමාණය කිරීමට ඔබට ඉඩ දිය හැකිය. ඡායාරූප සඳහා, ඔබට එය පිරවීමට අවශ්‍ය දර්ශන ප්‍රදේශය සඳහන් කර උපාංග පරිමාණය මත රඳා සිටින්න.
මෙවලම් සාදන්නා

286

px - පික්සෙල් - පරිමාණයකට ලක්ෂ්‍යය තිරයේ ඇති සැබෑ පික්සෙල් වලට අනුරූප වේ.

i - අඟල් - තිරයේ භෞතික ප්‍රමාණය මත පදනම්ව.

mm - මිලිමීටර - තිරයේ භෞතික ප්‍රමාණය මත පදනම්ව.

pt - ලකුණු - තිරයේ භෞතික ප්‍රමාණය මත පදනම්ව අඟල් 1/72 ක්.

dp - ens නත්ව-ස්වාධීන පික්සෙල් - තිරයේ භෞතික ity නත්වය මත පදනම් වූ වියුක්ත ඒකකයකි. මෙම ඒකක 160 dpi තිරයකට සාපේක්ෂ වේ, එබැවින් 160 dpi තිරයක dpඑක් පික්සෙල් එකකි. තිරයේ ity නත්වය සමඟ dp-to-pixel අනුපාතය වෙනස් වනු ඇත, නමුත් අවශ්‍යයෙන්ම සෘජු සමානුපාතිකව නොවේ. සටහන: සම්පාදක දෙකම පිළිගන්නා dipහා dp, නමුත් dpවැඩි අනුරූප ය sp.

sp - පරිමාණ-ස්වාධීන පික්සෙල් - මෙය dpඒකකය හා සමාන ය , නමුත් එය පරිශීලකයාගේ අකුරු ප්‍රමාණ මනාපයෙන් ද පරිමාණය කර ඇත. අකුරු ප්‍රමාණ නියම කිරීමේදී ඔබ මෙම ඒකකය භාවිතා කිරීම රෙකමදාරු කරනු ලැබේ, එබැවින් ඒවා තිර dens නත්වය සහ පරිශීලකයාගේ මනාපය යන දෙකම සඳහා සකස් කරනු ලැබේ.

එකම ප්‍රමාණයේ තිර දෙකක උදාහරණය ගන්න, නමුත් එක් තිරයක dens නත්වය 160 dpi (අඟලකට තිත්, එනම් අඟල් එකකට පික්සල්) සහ අනෙක 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

234

තවද පහත සඳහන් සංකල්ප පිළිබඳව ඔබට පැහැදිලි අවබෝධයක් තිබිය යුතුය:

තිර ප්‍රමාණය:

තථ්‍ය භෞතික ප්‍රමාණය, තිරයේ විකර්ණය ලෙස මනිනු ලැබේ. සරල බව සඳහා, ඇන්ඩ්‍රොයිඩ් සියළුම සත්‍ය තිර ප්‍රමාණයන් සාමාන්‍යකරණය කළ ප්‍රමාණ හතරකට කාණ්ඩ කරයි: කුඩා, සාමාන්‍ය, විශාල සහ අමතර විශාල.

තිර dens නත්වය:

තිරයේ භෞතික ප්‍රදේශයක් තුළ පික්සෙල් ප්‍රමාණය; සාමාන්‍යයෙන් dpi (අඟල් එකකට තිත්) ලෙස හැඳින්වේ. උදාහරණයක් ලෙස, “සාමාන්‍ය” හෝ “ඉහළ” dens නත්ව තිරයකට සාපේක්ෂව “අඩු” screen නත්ව තිරයක් ලබා දී ඇති භෞතික ප්‍රදේශයක් තුළ පික්සෙල් අඩු වේ. සරල බව සඳහා, ඇන්ඩ්‍රොයිඩ් සියළුම සත්‍ය තිර ities නත්වයන් සාමාන්‍යකරණය කළ four නත්වයන් හතරකට කාණ්ඩ කරයි: අඩු, මධ්‍යම, ඉහළ සහ අමතර ඉහළ.

දිශානතිය:

පරිශීලකයාගේ දෘෂ්ටි කෝණයෙන් තිරයේ දිශානතිය. මෙය භූ දර්ශනය හෝ ආලේඛ්‍ය චිත්‍රයකි, එයින් අදහස් වන්නේ තිරයේ දර්ශන අනුපාතය පිළිවෙලින් පුළුල් හෝ උස බවයි. පෙරනිමියෙන් විවිධ උපාංග විවිධ දිශානතීන් තුළ ක්‍රියාත්මක වනවා පමණක් නොව, පරිශීලකයා උපාංගය භ්‍රමණය වන විට ධාවන වේලාවේ දිශානතිය වෙනස් විය හැකි බව මතක තබා ගන්න.

යෝජනාව:

තිරයක ඇති භෞතික පික්සල් ගණන. බහු තිර සඳහා සහය එක් කරන විට, යෙදුම් සෘජුවම විභේදනය සමඟ ක්‍රියා නොකරයි; යෙදුම් සැලකිලිමත් විය යුත්තේ සාමාන්‍යකරණය කළ ප්‍රමාණය හා ity නත්ව කණ්ඩායම් විසින් නියම කර ඇති පරිදි තිරයේ ප්‍රමාණය හා ity නත්වය සමඟ පමණි.

Ens නත්ව-ස්වාධීන පික්සෙල් (dp):

UI පිරිසැලසුම නිර්වචනය කිරීමේදී, පිරිසැලසුම් මානයන් ප්‍රකාශ කිරීමට හෝ position නත්වයෙන් ස්වාධීනව ස්ථානගත කිරීමට ඔබ භාවිතා කළ යුතු අතථ්‍ය පික්සල් ඒකකයක්. D නත්ව-ස්වාධීන පික්සෙල් 160 dpi තිරයක එක් භෞතික පික්සෙල් එකකට සමාන වේ, එය "මධ්‍යම" dens නත්ව තිරයක් සඳහා පද්ධතිය විසින් උපකල්පනය කරන ලද මූලික dens නත්වය වේ. ධාවන වේලාවේදී, භාවිතයේ ඇති තිරයේ සත්‍ය dens නත්වය මත පදනම්ව, අවශ්‍ය පරිදි පද්ධතිය dp ඒකකවල ඕනෑම පරිමාණයක් විනිවිදභාවයෙන් හසුරුවයි. Dp ඒකක තිර පික්සෙල් බවට පරිවර්තනය කිරීම සරලයි: px = dp * (dpi / 160). උදාහරණයක් ලෙස, 240 dpi තිරයක 1 dp භෞතික පික්සල් 1.5 ට සමාන වේ. විවිධ .නත්වයන් සහිත තිරවල ඔබේ UI නිසි ලෙස ප්‍රදර්ශනය කිරීම සහතික කිරීම සඳහා, ඔබේ යෙදුමේ UI නිර්වචනය කිරීමේදී ඔබ සැමවිටම dp ඒකක භාවිතා කළ යුතුය.

යොමුව: ඇන්ඩ්‍රොයිඩ් සංවර්ධකයින්ගේ වෙබ් අඩවිය


මෙයින් අදහස් කරන්නේ ඔබ උපාංගයේ පික්සල් ity නත්වය නොසලකා dp ඒකක භාවිතයෙන් නිර්මාණය කරන ඕනෑම දෙයක් සෑම විටම තිරයේ සමාන% ක් ගන්නා බවයි? සමාන අනුපාත අනුපාත උපකල්පනය කිරීම.
DBIT

199

dpවේ dip. සෑම දෙයක් සඳහාම එය භාවිතා කරන්න (ආන්තිකය, පෑඩින් ආදිය).

sp{පෙළ ප්‍රමාණය} සඳහා පමණක් භාවිතා කරන්න .


විවිධ තිර ities නත්වයන්හි එකම ප්‍රමාණය ලබා ගැනීම සඳහා, ඇන්ඩ්‍රොයිඩ් මෙම ඒකක ධාවන වේලාවේදී පික්සෙල් බවට පරිවර්තනය කරයි, එබැවින් ඔබට කළ හැකි ව්‍යාකූල ගණිතයක් නොමැත.


අතර වෙනස බලන්න px, dpසහ spවිවිධ තිර ප්රමාණ මත.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

මූලාශ්‍රය: ඇන්ඩ්‍රොයිඩ් ක්‍රමලේඛනය: බිග් නර්ඩ් රැන්ච් මාර්ගෝපදේශය


144

සහ පහතට පරිවර්තනය කිරීම dpiසඳහා මම පහත සූත්‍රය ගණනය කර ඇත්තෙමිdpsp රූප විස්තරය මෙහි ඇතුළත් කරන්න


10
එය dpi වෙනුවට ppi විය යුතුය
Pratek

142

අර්ථ දැක්වීම්

px හෝ dot යනු භෞතික තිරයේ ඇති පික්සෙල් ය.

dpi යනු භෞතික තිරයේ අඟලකට පික්සල් වන අතර දර්ශනයේ ity නත්වය නිරූපණය කරයි.

ඇන්ඩ්‍රොයිඩ් dens නත්ව කිහිපයකට අන්වර්ථ නාම ලබා දෙයි

  • ldpi (අඩු) d 120dpi
  • mdpi (මධ්‍යම) d 160dpi
  • hdpi (ඉහළ) d 240dpi
    • 2015 හි බොහෝ උපාංග මෙහි ඇත
  • xhdpi (අමතර-ඉහළ) ~ 320dpi
    • ඇපල් අයිෆෝන් 4/5/6, නෙක්සස් 4
  • xxhdpi (අමතර-අතිරේක-ඉහළ) ~ 480dpi
    • නෙක්සස් 5
  • xxxhdpi (අමතර-අමතර-අතිරේක-ඉහළ) ~ 640dpi

පැමිනෙන හෝ ඩී.පී. වේ ඝනත්වය-indenpendant පික්සල , එනම්, ඔවුන් භෞතික ඝනත්වය අනුව අඩු හෝ වැඩි පික්සල අනුරූප.

  • Mdpi මත 1dp = 1px

රූප විස්තරය මෙහි ඇතුළත් කරන්න

sp හෝ sip යනු පරිමාණයෙන් ස්වාධීන පික්සෙල් ය . විශාල පෙළ විකල්පය Settings> තුළ සක්‍රිය කර ඇති විට ඒවා පරිමාණය කර ඇතAccessibility

  • 1sp = 1dp
  • 1sp = 1.2dp ප්‍රවේශය සහිත විශාල පෙළ

භාවිතා කළ යුත්තේ කුමක්ද?

පෙළ ප්‍රමාණය සඳහා sp භාවිතා කරන්න .

අනෙක් සියල්ල සඳහා dp භාවිතා කරන්න .


129

මුලාශ්‍රය 1

මූලාශ්රය 2

මූලාශ්‍රය 3 : (ප්‍රභව 3 හි දත්ත පහත දැක්වේ)

මේවා XML හි අර්ථ දක්වා ඇති මාන අගයන් වේ. මිනුම් ඒකකයක් අනුගමනය කරන අංකයක් සමඟ මානයක් නියම කරනු ලැබේ. උදාහරණයක් ලෙස: 10px, 2in, 5sp. ඇන්ඩ්‍රොයිඩ් විසින් පහත දැක්වෙන මිනුම් ඒකක සඳහා සහය දක්වයි:

dp

Ens නත්ව-ස්වාධීන පික්සෙල් - තිරයේ භෞතික ity නත්වය මත පදනම් වූ වියුක්ත ඒකකයකි. මෙම ඒකක 160 dpi (අඟල් එකකට තිත්) තිරයකට සාපේක්ෂව 1dp දළ වශයෙන් 1px ට සමාන වේ. වැඩි dens නත්ව තිරයක ධාවනය වන විට, 1dp ඇඳීමට භාවිතා කරන පික්සෙල් ගණන තිරයේ dpi සඳහා සුදුසු සාධකයක් මඟින් පරිමාණය කරනු ලැබේ. ඒ හා සමානව, අඩු dens නත්ව තිරයක සිටින විට, 1dp සඳහා භාවිතා කරන පික්සෙල් ගණන අඩු වේ. තිරයේ ity නත්වය සමඟ dp-to-pixel අනුපාතය වෙනස් වනු ඇත, නමුත් අවශ්‍යයෙන්ම සෘජු සමානුපාතිකව නොවේ. විවිධ තිර dens නත්වයන් සඳහා ඔබේ පිරිසැලසුමේ දර්ශන මානයන් නිසි ලෙස ප්‍රමාණයට වෙනස් කිරීම සඳහා dp ඒකක (px ඒකක වෙනුවට) භාවිතා කිරීම සරල විසඳුමකි. වෙනත් වචන වලින් කිවහොත්, එය විවිධ උපාංග හරහා ඔබගේ UI මූලද්‍රව්‍යයන්ගේ තථ්‍ය-ලෝක ප්‍රමාණ සඳහා අනුකූලතාවක් සපයයි.

sp

පරිමාණ-ස්වාධීන පික්සෙල් - මෙය dp ඒකකය හා සමාන ය, නමුත් එය පරිශීලකයාගේ අකුරු ප්‍රමාණ මනාපයෙන් ද පරිමාණය කර ඇත. අකුරු ප්‍රමාණ නියම කිරීමේදී ඔබ මෙම ඒකකය භාවිතා කිරීම රෙකමදාරු කරනු ලැබේ, එබැවින් ඒවා තිර dens නත්වය සහ පරිශීලකයාගේ මනාපය යන දෙකම සඳහා සකස් කරනු ලැබේ.

පි

ලකුණු - තිරයේ භෞතික ප්‍රමාණය මත පදනම්ව අඟල් 1/72 ක්.

px

පික්සෙල් - තිරයේ ඇති සැබෑ පික්සල් වලට අනුරූප වේ. උපාංග හරහා සත්‍ය නිරූපණය වෙනස් විය හැකි බැවින් මෙම මිනුම් ඒකකය නිර්දේශ නොකරයි; සෑම උපාංගයකම අඟලකට වෙනස් පික්සල් සංඛ්‍යාවක් තිබිය හැකි අතර තිරයේ ඇති මුළු පික්සල් වැඩි හෝ අඩු ගණනක් තිබිය හැකිය.

මි.මී.

මිලිමීටර - තිරයේ භෞතික ප්‍රමාණය මත පදනම්ව.

තුල

අඟල් - තිරයේ භෞතික ප්‍රමාණය මත පදනම්ව.

සටහන: මානයක් යනු සරල ගුණාංගයක් වන අතර එය නාම ගුණාංගයේ (XML ගොනුවේ නම නොවේ) ලබා දී ඇති අගය භාවිතා කරයි. එනිසා ඔබට එක් මූලද්‍රව්‍යයක් යටතේ එක් XML ගොනුවක ඇති මාන සම්පත් වෙනත් සරල සම්පත් සමඟ ඒකාබද්ධ කළ හැකිය.


9
එසේම: මෙම පිළිතුරේ අමතර වටිනාකම කුමක්ද? වෙනත් පිළිතුරු වල දැනටමත් සඳහන් කර නැති කිසිවක් ඇති බවක් නොපෙනේ.
laalto

119

මූලික වශයෙන් px අදාළ වන එකම කාලය එක් px එකක් වන අතර, බෙදුම්කරුවෙකු මෙන් තිරයේ හරියටම එක් පික්සෙල් එකක් ඔබට අවශ්‍ය නම්:

> 160 dpi මත, ඔබට පික්සල් 2-3 ක් ලැබෙනු ඇත,

> 120 dpi මත, එය 0 දක්වා වටය.


getDimensionPixelOffset වටය, getDimensionPixelSize වටය ඉහළට.
ඉයුජන් පෙචනෙක්

102

px

පික්සෙල් - තිරයේ ඇති සැබෑ පික්සල් වලට අනුරූප වේ.

dp හෝ ඩිප්

Ens නත්ව-ස්වාධීන පික්සෙල් - තිරයේ භෞතික ity නත්වය මත පදනම් වූ වියුක්ත ඒකකයකි. මෙම ඒකක 160 dpi තිරයකට සාපේක්ෂ වේ, එබැවින් එක් dp 160 dpi තිරයක එක් පික්සෙල් වේ.

Dp භාවිතය:

Indens නත්වයේ ස්වාධීනත්වය - විවිධ ities නත්වයන් සහිත තිරවල දර්ශනය වන විට පරිශීලක අතුරුමුහුණත් මූලද්‍රව්‍යයන්ගේ භෞතික ප්‍රමාණය (පරිශීලකයාගේ දෘෂ්ටි කෝණයෙන්) ආරක්ෂා කරන විට ඔබේ යෙදුම “ity නත්ව ස්වාධීනත්වය” ලබා ගනී. (එනම්) රූපය විවිධ වර්ගයේ තිරවල එකම ප්‍රමාණයෙන් (විශාල වී හෝ හැකිලී නැති) පෙනිය යුතුය.

sp

පරිමාණ-ස්වාධීන පික්සෙල් - මෙය dp ඒකකය වැනි ය, නමුත් එය පරිශීලකයාගේ අකුරු ප්‍රමාණ මනාපයෙන් ද පරිමාණය කර ඇත.

http://developer.android.com/guide/topics/resources/more-resources.html# මානය


98

Px සහ dp අතර ඇති සම්බන්ධය කුමක්ද?

Ens නත්ව-ස්වාධීන පික්සෙල් (dp)

UI පිරිසැලසුම නිර්වචනය කිරීමේදී, පිරිසැලසුම් මානයන් ප්‍රකාශ කිරීමට හෝ position නත්වයෙන් ස්වාධීනව ස්ථානගත කිරීමට ඔබ භාවිතා කළ යුතු අතථ්‍ය පික්සල් ඒකකයක්. ඉහත විස්තර කර ඇති පරිදි, d නත්ව-ස්වාධීන පික්සෙල් 160 dpi තිරයක එක් භෞතික පික්සෙල් එකකට සමාන වේ, මෙය "මධ්‍යම" dens නත්ව තිරයක් සඳහා පද්ධතිය විසින් උපකල්පනය කරන ලද මූලික dens නත්වය වේ. ධාවන වේලාවේදී, භාවිතයේ ඇති තිරයේ සත්‍ය dens නත්වය මත පදනම්ව, අවශ්‍ය පරිදි පද්ධතිය dp ඒකකවල ඕනෑම පරිමාණයක් විනිවිදභාවයෙන් හසුරුවයි. Dp ඒකක තිර පික්සෙල් බවට පරිවර්තනය කිරීම සරල ය:

px = dp * (dpi / 160).

උදාහරණයක් ලෙස, 240 dpi තිරයක 1 dp භෞතික පික්සල් 1.5 ට සමාන වේ. විවිධ .නත්වයන් සහිත තිරවල ඔබේ UI නිසි ලෙස ප්‍රදර්ශනය කිරීම සහතික කිරීම සඳහා, ඔබේ යෙදුමේ UI නිර්වචනය කිරීමේදී ඔබ සැමවිටම dp ඒකක භාවිතා කළ යුතුය.

පික්සල් ඩීපී සහ අනෙක් අතට තේරුම් ගැනීම ඉතා අත්‍යවශ්‍ය වේ (විශේෂයෙන් නිර්මාණාත්මක කණ්ඩායමට නිශ්චිත ඩීපී අගයන් ලබා දීම සඳහා)

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
  • නිර්මාණාත්මක කණ්ඩායමෙන් සියලු පික්සල් අගයන් ඉරට්ටේ සංඛ්‍යා වලින් ලබා ගැනීමට උත්සාහ කරන්න. එසේ නොමැතිනම් 0.5 සමඟ ගුණ කරන විට නිරවද්‍යතාව නැතිවීම සිදුවේ.

px

එය ඉහත විස්තර කර ඇත. පිරිසැලසුම් ලිපිගොනු වලක්වා ගැනීමට උත්සාහ කරන්න. නමුත් සමහර අවස්ථා තිබේ, එහිදී px අවශ්‍ය වේ. උදාහරණයක් ලෙස, ListView බෙදුම්කරු රේඛාව. තිරයේ විභේදන හරහා සැමට බෙදුම්කරුවෙකු ලෙස එක් පික්සල් රේඛාවක් ලබා දීම සඳහා px වඩා හොඳය.

sp

අකුරු ප්‍රමාණ සඳහා sp භාවිතා කරන්න. උපාංගයේ අකුරු ප්‍රමාණය වෙනස් වන අතර යෙදුම තුළ ඇති අකුරු පමණක් වෙනස් වේ (එනම් උපාංගයේ දර්ශන -> අකුරු). යෙදුම තුළ ස්ථිතික ප්‍රමාණයේ අකුරු තබා ගැනීමට ඔබට අවශ්‍ය නම්, ඔබට අකුරු මානය dp වලින් ලබා දිය හැකිය. එවැනි අවස්ථාවක එය කිසි විටෙකත් වෙනස් නොවේ. සමහර විශේෂිත තිර සඳහා සංවර්ධකයින්ට එවැනි අවශ්‍යතාවයක් ලබා ගත හැකිය, ඒ සඳහා සංවර්ධකයින්ට sp වෙනුවට dp භාවිතා කළ හැකිය. අනෙක් සියලුම අවස්ථාවන්හිදී, sp නිර්දේශ කරනු ලැබේ.


90

පහත පින්තූරය අතර pxසහ අතර වෙනස ඔබට දැකිය හැකි අතර , විවිධ තිරවල එකම භෞතික ප්‍රමාණ සහතික කිරීමට සහ නොහැකි dpබව ඔබට සොයාගත හැකිය .pxdp

රූප විස්තරය මෙහි ඇතුළත් කරන්න


3
Nes එන්ස්බැටල්, මම හිතන්නේ ඩීපී උග්‍ර භෞතික ප්‍රමාණයක් නොවන නිසා එය ආසන්න අගයක්. කැප්ටෙක් වෙතින් උපුටා දැක්වීම: "dp - මෙය ස්වාධීන dens නත්ව ඒකකයකි, කෙසේ වෙතත් තනි" ඩීපී "වල භෞතික ප්‍රමාණය සෑම තිර dens නත්වයකම ආසන්න වශයෙන් සමාන වේ. අඟලක දළ වශයෙන් 160" ඩීපී "ඇත. පරිමාණ සාධකය, අනුව උපාංගයේ dens නත්ව බාල්දිය මත 160 dpi හි “dp” පික්සෙල් ගණන බවට පරිවර්තනය කිරීම සඳහා යොදනු ලැබේ. තිරයේ ity නත්වය සහ උපාංගය වැටෙන dens නත්ව බාල්දිය අනුව තනි “dp” පරිවර්තනය කරන පික්සෙල් ගණන වෙනස් වේ. වෙත."
ශෙපර්

3
Uch රුචිර්බාරෝනියා, මම හිතන්නේ ඩීපී හෝ ඩීඅයිපී තවමත් ඒපීකේ තුළ ඇති නිසා, එය කුමන ආකාරයේ තිර dens නත්වයක් සමඟ තවමත් ක්‍රියාත්මක වේදැයි ඒපීකේ නොදන්නා නිසා උපාංගයේ ස්වාධීනත්වය තවමත් තබා ගත යුතුය.
ශෙපර්

79

පෙළ හා පෙනුම විශාලත්වය සමග සම්බන්ධ ඕනෑම දෙයක් භාවිතා කළ යුතුය spහෝ pt. ෙකෙසේෙවතත්, පාලකවල විශාලත්වය, පිරිසැලසුම් ආදිය සම්බන්ධ ඕනෑම දෙයක් භාවිතා කළ යුතුය dp.

ඔබට දෙකම dpසහ dipඑහි ස්ථාන භාවිතා කළ හැකිය .


69

මම භාවිතා කරන්නේ dp පමණි.

අකුරු ප්‍රමාණ සඳහා “sp” භාවිතා කිරීම පිළිබඳව විශාල කතාබහක් ඇති අතර, මම එම කරුණ අගය කරන අතරම, නිර්මාණ දෘෂ්ටි කෝණයකින් එය කිරීම නිවැරදි දෙය යැයි මම නොසිතමි. පරිශීලකයාට සිත් ඇදගන්නාසුළු අකුරු ප්‍රමාණ තේරීමක් තිබේ නම් ඔබට ඔබේ සැලසුම බිඳ දැමිය හැකිය, පරිශීලකයා ඔවුන්ගේ ජීවිත තේරීම් නොව යෙදුමට දොස් පැවරීම අවසන් කරයි .

එසේම, ඔබ 160 dpi ටැබ්ලට් පරිගණකයක sp-font යෙදුමක් ගතහොත්, සෑම දෙයක්ම පරිමාණයෙන් ඉහළ යන බව ඔබට පෙනී යනු ඇත ... නමුත් ඔබේ අකුරු, සාපේක්ෂව කුඩා ලෙස පෙනෙනු ඇත. එය හොඳ පෙනුමක් නොවේ.

"Sp" අකුරු පිළිබඳ අදහස හොඳ හදවතක් ඇති නමුත් එය දුර්වල අදහසකි. සෑම දෙයක් සඳහාම dp සමඟ රැඳී සිටින්න.


1
අකුරු පරිමාණ සාධකය සාධකයක් බව ඔබ දන්නවා spනේද? බලපාන ඕනෑම දෙයක් dpද බලපානු spඇත. ඔබේ පිරිසැලසුම ඉතා තදින් හා විශාල ප්‍රමාණවලට නොගැලපේ නම් dpවෙනුවට අකුරු ප්‍රමාණ නියම කිරීම වඩාත් සුදුසු බව එයින් කියැවේ sp- සම්පූර්ණයෙන්ම අවුල් සහගත පිරිසැලසුමක් පරිශීලකයාට අවශ්‍ය ප්‍රමාණයට වඩා කුඩා පෙළක් තිබීම හොඳය. නමුත් පළමු අවස්ථාවේදී ඔබ සැමවිටම උත්සාහ කළ යුත්තේ පරිශීලකයාගේ අකුරු ප්‍රමාණයේ මනාපයට ගරු කිරීමට ය - විශාලතම සැකසුම පවා එතරම් විශාල නොවේ.
කරු

67

sp = පරිමාණ ස්වාධීන පික්සෙල්

dp = dip = ity නත්ව ස්වාධීන පික්සල

dpi = අඟලකට තිත්

අපි sp භාවිතා කිරීමෙන් වැළකී සිටිය යුතුයි .

බහු තිර සඳහා සහය දැක්වීමට අපි dp භාවිතා කළ යුතුය .

ඇන්ඩ්‍රොයිඩ් විවිධ තිර විභේදන සඳහා සහය දක්වයි

  • ldpi (අඩු) ~ 120 dpi
  • mdpi (මධ්‍යම) ~ 160 dpi
  • hdpi (ඉහළ) ~ 240 dpi
  • xhdpi (අමතර-ඉහළ) ~ 320 dpi
  • xxhdpi (අමතර-අතිරේක-ඉහළ) ~ 480 dpi
  • xxxhdpi (අමතර-අතිරේක-අතිරේක-ඉහළ) ~ 640 dpi

120 dp ldpi උපාංගයක් අඟල් 1 ප්‍රමාණයේ පික්සල් 120 ක් ඇත.

අනෙක් ities නත්වයටද එයමයි ...

මෘදුකාංග ඉංජිනේරුවන් වන අප මෙම පරිවර්තන සූත්‍රය භාවිතා කළ යුතුය:

pixel = dp * (ity නත්වය / 160)

එබැවින් 240 dpi උපාංගයේ 1 dp = 1 * (240/160) = 3/2 = 1.5 පික්සල ඇත.

480 dpi උපාංගයේ 1 dp = 1 * (480/160) = 3 පික්සල ඇත.

මෙම 1.5 සහ 3 පික්සල් දැනුම භාවිතා කරමින් මෘදුකාංග ඉංජිනේරුවෙකුට විවිධ ities නත්වයන් සඳහා පිරිසැලසුම් සැලසුම් කළ හැකිය.

ඕනෑම උපාංගයක තිර පරාමිතීන් පරීක්ෂා කිරීම සඳහා:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

Toast.makeText(
    this,
    "4:" + metrics.heightPixels + "," + metrics.density + ","
    + metrics.densityDpi, Toast.LENGTH_LONG).show();

අවබෝධ කර ගැනීම සඳහා ඉතා හොඳ නිබන්ධනයක්: http: /vinsol.com/blog/2014/11/20/tips-for-designers-from-a-developer
Kushal

5
“අපි sp භාවිතා කිරීමෙන් වැළකී සිටිය යුතුයි” ඒ ඇයි? ඔබ එය සැලකිල්ලට පරිශීලක කැමති පෙළ ප්රමාණය ගනී නිසා අකුරු ප්රමාණය සමඟ කටයුතු කරන විට, පොලිස් අධිකාරී භාවිතා කළ යුතු, developer.android.com/training/multiscreen/screendensities.html
ci_

පිරිසැලසුම් ඉදිරිදර්ශනයට සාපේක්ෂව මම පිළිතුරු දී ඇත්තෙමි .. කරුණාකර ඔබ ලබා දුන් සබැඳිය කියවන්න "එබැවින් පෙළ ප්‍රමාණය නිර්වචනය කිරීමේදී ඔබ මෙම මිනුම් ඒකකය භාවිතා කළ යුතුය (නමුත් කිසි විටෙකත් පිරිසැලසුම් ප්‍රමාණ සඳහා)."
කුෂාල්

ප්‍රශ්නය වූයේ "ඇන්ඩ්‍රොයිඩ් හි px, dp, dip සහ sp අතර වෙනස කුමක්ද?" ඔබේ පිළිතුර "අපි sp භාවිතා කිරීමෙන් වැළකී සිටිය යුතුයි". "පිරිසැලසුම් ඉදිරිදර්ශනය" ගැන කිසිම තැනක සඳහනක් නොවීය.
ci_

ඔව් .. ඩීපී සහ ඩිප් එක සමානයි ... එකිනෙකට වෙනස් ලෙස භාවිතා කරයි ... මගේ පිළිතුර ඔබේ විමසුම විසඳන්නේද?
කුෂල්

61

නිල ලියකියවිලි වලින් පිටපත් කරන ලද පිළිතුරු මගින් " පරිශීලකයාගේ අකුරු ප්‍රමාණ මනාපය " ලෙස සඳහන් කර ඇති ඒකක dpසහ spඒකක අතර වෙනස විකල්පය වෙනස් කිරීමෙන් ධාවන වේලාවේදී දැකිය හැකිය.Settings->Accessibility->Large Text

Large Textවිකල්පය පෙළ 1.3වඩා විශාල වීමට බල කරයි .

private static final float LARGE_FONT_SCALE = 1.3f;

මෙය පැකේජ / යෙදුම් / සැකසීම් වල පිහිටා ඇති බැවින් විකුණුම්කරු මත රඳා පවතී .


52

dpi -

  • අඟල් එකකට තිත්
  • තිරයේ පික්සල් ity නත්වය මැනීම.

px - පික්සෙල්

  • තිර පික්සෙල් සිතියම් ගත කිරීම සඳහා

pt - ලකුණු

  • භෞතික තිර ප්‍රමාණයට සාපේක්ෂව අඟල් 1/72 ක් පමණ වේ.

අඟල් - භෞතික තිර ප්‍රමාණයට සාපේක්ෂව (අඟල් 1 = 2.54 සෙ.මී.).

mm- මිලිමීටර - භෞතික තිර ප්‍රමාණයට සාපේක්ෂව.

sp - පරිමාණ-ස්වාධීන පික්සෙල්.

  • පරිශීලකයාගේ අකුරු ප්‍රමාණ මනාපය මත පදනම්ව.
  • අකුරු 'sp' විය යුතුය.

ඩිප් -

  • dip == dp
  • Ens නත්ව ස්වාධීන පික්සෙල්.
  • තිර ens නත්වය මත පදනම්ව එය වෙනස් වේ.
  • 160 dpi තිරයේ, 1 dp = 1 පික්සෙල්.
  • පෙළ අකුරු ප්‍රමාණය හැර dp භාවිතා කරන්න.

සම්මතයේදී, dp සහ sp භාවිතා වේ. අකුරු ප්‍රමාණය සඳහා sp සහ අනෙක් සියල්ල සඳහා dp.

ඒකක පරිවර්තනය සඳහා සූත්‍රය:

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  

ප්‍රලේඛනයට අනුව සම්පාදකයා "ඩිප්" සහ "ඩීපී" යන දෙකම පිළිගනී, නමුත් "
ඩීපී

46

ඇන්ඩ්‍රොයිඩ් භාවිතා කරන සූත්‍රය මෙන්න:

px = dp * (dpi / 160)

මෙහි dpi යනු පහත දැක්වෙන තිර ities නත්වයන්ගෙන් එකකි. හැකි සියලු ities නත්ව ලැයිස්තුවක් සඳහා මෙහි යන්න

එය "DENSITY_ *" නියතයන් අර්ථ දක්වයි.

  • ldpi (අඩු) d 120dpi
  • mdpi (මධ්‍යම) d 160dpi
  • hdpi (ඉහළ) d 240dpi
  • xhdpi (අමතර-ඉහළ) ~ 320dpi
  • xxhdpi (අමතර-අතිරේක-ඉහළ) ~ 480dpi
  • xxxhdpi (අමතර-අමතර-අතිරේක-ඉහළ) ~ 640dpi

සිට ගෙන මෙහි .

ඔබේ තිරය dpi ඔබ දන්නේ නම්, px සහ dp අතර පරිවර්තනය කිරීමේදී මෙය බොහෝ ව්‍යාකූලතා නිරාකරණය කරයි.

ඉතින්, අපි ඔබට HDP තිරයක් සඳහා 60 dp රූපයක් අවශ්‍ය යැයි කියමු, එවිට භෞතික පික්සල් ප්‍රමාණය 60 dp වේ:

px = 60 * (240 / 160)

45

තිරය ප්රමාණය තුළ Androidකාණ්ඩ කාණ්ඩගත කෙරේ small, medium, large, extra large, double-extraහා triple-extra. තිර dens නත්වය යනු තිරයේ යම් ප්‍රදේශයක (අඟල් වැනි) පික්සෙල් ප්‍රමාණයයි. සාමාන්‍යයෙන් එය මනිනු ලබන්නේ අඟල්-තිත් (dpi) තිත් වලිනි. තිර dens නත්වය අඩු, මධ්‍යම, ඉහළ සහ අමතර ඉහළ ලෙස කාණ්ඩ කර ඇත. විභේදනය යනු තිරයේ ඇති මුළු පික්සල් ගණනයි.

  • dp: ens නත්වය ස්වාධීන පික්සෙල්, එය තිර ity නත්වය මත පදනම්ව වෙනස් වේ. 160 dpi තිරයේ, 1 dp = 1 පික්සෙල්. අකුරු ප්‍රමාණය හැරුණු විට සෑම විටම dp භාවිතා කරන්න.
  • dip: dip == dp. පෙර ඇන්ඩ්‍රොයිඩ් සංස්කරණ වලදී ඩිප් භාවිතා කළ අතර පසුව එය ඩීපී ලෙස වෙනස් කරන ලදි.
  • sp: පරිමාණ ස්වාධීන පික්සෙල්, පරිශීලකයාගේ අකුරු ප්‍රමාණ මනාපය මත පදනම්ව පරිමාණය කර ඇත. අකුරු sp භාවිතා කළ යුතුය.
  • px: තිරයේ පික්සෙල් වෙත සිතියම් ගත කරන අපගේ සුපුරුදු සම්මත පික්සෙල්.
  • in: අඟල්, භෞතික තිර ප්‍රමාණයට සාපේක්ෂව.
  • mm: භෞතික තිර ප්‍රමාණයට සාපේක්ෂව මිලිමීටර.
  • pt: භෞතික තිර ප්‍රමාණයට සාපේක්ෂව අඟල් 1/72 ක්.

ඒකක අතර පරිවර්තනය සඳහා සූත්‍රය

 px = dp * (dpi / 160)

උපාංගයේ dp සිට px දක්වා

පහත දැක්වෙන උදාහරණය වඩා හොඳින් තේරුම් ගැනීමට උපකාරී වේ. 120 (ldpi), 160 (mdpi), 240 (hdpi), 320 (xhdpi), 480 (xxhdpi) සහ 640 (xxxhdpi) බාල්දි ප්‍රමාණය මත පදනම්ව පරිමාණය සිදු වේ. සැලසුම් කිරීම සඳහා ගූගල් විසින් යෝජනා කරන ලද අනුපාතය ldpi සඳහා 3: 4: 6: 8: 12 වේ: mdpi: hdpi: xhdpi: xxhdpi

150px X 150px රූපයක් හිමිවනු ඇත,

  • Mdpi හි 150 dp X 150 dp තිර අවකාශය
  • HDi හි 100 dp X 100 dp තිර අවකාශය
  • Xhdpi හි 75 dp X 75 dp තිර අවකාශය

සියලුම ඇන්ඩ්‍රොයිඩ් උපාංගවල ඒකාකාරී UI සැලසුමක් ලබා ගැනීමට ඔබට අවශ්‍ය වූ විට ඔබේ රූප ප්‍රමාණය සහ වෙනත් මානයන් නිවැරදි කිරීමට ඔබට පහත සඳහන් DPI කැල්කියුලේටරය භාවිතා කළ හැකිය.

ජාවා හි ඩීපීඅයි කැල්කියුලේටරය

/*
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);        
   }
}

වැඩි විස්තර සඳහා පහත සබැඳිය බලන්න.

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


45

කරුණාකර ප්‍රජා විකියෙන් පිළිතුර කියවන්න. ඉහත පිළිතුරු වලට අමතරව සලකා බැලිය යුතු තොරතුරු කිහිපයක් පහත දැක්වේ. යෙදුම් සංවර්ධනය කිරීමේදී බොහෝ ඇන්ඩ්‍රොයිඩ් සංවර්ධකයින්ට මෙය මග හැරේ, එබැවින් මම මෙම කරුණු එකතු කරමි.

sp = පරිමාණ ස්වාධීන පික්සෙල්

dp = ස්වාධීන pix නත්වය

dpi = dens නත්ව පික්සල

මම ඉහත පිළිතුරු හරහා ගොස් ඇත ... ඒවා නිවැරදිව සොයා ගැනීමට නොහැකි විය. පෙළ ප්‍රමාණය සඳහා sp, පිරිසැලසුම් සීමාවන් සඳහා dp - සම්මත. නමුත් බොහෝ උපාංගවල නොසැලකිලිමත් ලෙස භාවිතා කරන්නේ නම් පෙළ ප්‍රමාණය සඳහා sp පිරිසැලසුම බිඳ දමනු ඇත .

sp උපාංගයේ පෙළ ප්‍රමාණය ගන්න, නමුත් dp උපාංග dens නත්ව ප්‍රමිතිය ගන්න (උපාංගයක කිසි විටෙකත් වෙනස් නොවේ) 100sp පෙළට තිරයේ 80% ක් හෝ 100% තිරයක් වාසය කළ හැකි යැයි කියන්න.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

පිරිසැලසුම් සීමාවන් සඳහා ඔබට sp භාවිතා කළ හැකිය, එය ක්‍රියා කරනු ඇත :) සම්පූර්ණ යෙදුම සඳහා සම්මත යෙදුමක් sp භාවිතා නොකරයි

UX සැලකිල්ලට ගනිමින් පෙළ ප්‍රමාණය සඳහා sp සහ dp භාවිතා කරන්න.

  • මෙවලම් තීරුවේ පෙළ සඳහා sp භාවිතා නොකරන්න (dp සමඟ විවිධ තිර ප්‍රමාණයන් සඳහා ඇන්ඩ්‍රොයිඩ් මානයන් භාවිතා කළ හැකිය)
  • කුඩා මායිම් බොත්තම්, ඉතා කුඩා පෙළ යනාදිය සඳහා පෙළ සඳහා sp භාවිතා නොකරන්න

සමහර අය වැඩි දුර කියවීමේ හැකියාව සඳහා ඔවුන්ගේ දුරකථනයේ විශාල FONT ප්‍රමාණයක් භාවිතා කරයි, ඔවුන්ට කුඩා දෘඩ කේත සහිත ප්‍රමාණයේ පෙළ ලබා දීම UX ගැටලුවක් වනු ඇත. අවශ්‍ය අවස්ථාවලදී පෙළ සඳහා sp යොදන්න, නමුත් පරිශීලකයා සිය සැකසුම් වෙනස් කරන විට එය පිරිසැලසුම බිඳ නොදමන බවට වග බලා ගන්න.

ඒ හා සමානව ඔබට සියලු මානයන් සඳහා තනි යෙදුමක් තිබේ නම්, xxxhdpi වත්කම් එකතු කිරීමෙන් යෙදුමේ ප්‍රමාණය විශාල වේ. නමුත් දැන් xxxhdpi දුරකථන පොදු බැවින් පැති තීරුව, මෙවලම් තීරුව සහ පහළ තීරුවේ ඇති අයිකන සඳහා අවම වශයෙන් xxxhdpi වත්කම් ඇතුළත් කළ යුතුය. සියලු තිර ප්‍රමාණයන් සඳහා ඒකාකාර හා වඩා හොඳ තත්ත්වයේ රූප ලබා ගැනීම සඳහා දෛශික රූප වෙත ගමන් කිරීම වඩා හොඳය.

මිනිසුන් ඔවුන්ගේ දුරකථනයේ අභිරුචි අකුරු භාවිතා කරන බව සලකන්න. එබැවින් අකුරු නොමැති වීම පරතරය සහ සියල්ල සම්බන්ධ ගැටළු ඇති කළ හැකිය. අභිරුචි අකුරු සඳහා 12sp පෙළ ප්‍රමාණය පෙරනිමි අකුරු වලට වඩා පික්සල් කිහිපයක් ගතවනු ඇතැයි පවසන්න.

ඇන්ඩ්‍රොයිඩ් සඳහා අපකීර්තිය සහ පදනම් තොරතුරු සඳහා ගූගල් සංවර්ධක වෙබ් අඩවිය බලන්න. https://developer.android.com/training/multiscreen/screendensities


43
  • px - එක් පික්සෙල් එකක්, CSS, JavaScript ආදියෙහි භාවිතා වන දේට සමාන වේ.
  • sp - පරිමාණ-ස්වාධීන පික්සල්
  • ඩිප් - ity නත්ව-ස්වාධීන පික්සල්

සාමාන්‍යයෙන් sp භාවිතා කරනුයේ අකුරු ප්‍රමාණ සඳහා වන අතර, ඩිප් භාවිතා කරනු ලැබේ (dp ලෙසද හැඳින්වේ).


39

විවිධ තිර විභේදන සඳහා ඇන්ඩ්‍රොයිඩ් යෙදුම් UI නිර්මාණය කිරීම පිළිබඳ හොඳ ලිපියක් මට හමු වී ඇති අතර, මෙම ප්‍රදේශයේ යමෙකු සොයන අයට පමණක් එය මෙහි තැබීමට මම කැමතියි. ඔව්, එය කෙසේ හෝ ගූගල් ලියකියවිලි වල විස්තර කර ඇති බව මම දනිමි (සහ ඉහත ලිපි වල සඳහන් කර ඇත), මම එය කියවූ නමුත් එය මට හොඳ නැත (ඔව්, මම මෝඩයෙක් විය හැකිය). විවිධ තිර ප්‍රමාණයන් හැසිරවිය හැකි පිරිසැලසුම් සැලසුම් කරන්නේ කෙසේද යන්න මට පැහැදිලි නැත. විවිධ තිර සඳහා "නම්‍යශීලී" UI පිරිසැලසුමක් ක්‍රියාත්මක කිරීමට අවශ්‍ය වූ විට මම ඩීපී සංකල්පයට වෛර කරමි. (හේයි iOS සංවර්ධකයින් - ඔව්, ඔබ හරි එය ස්ටෝරිබෝඩ් සංකල්පයයි).

ඇන්ඩ්‍රොයිඩ් සතුව නරක UI සංකල්පයක් නොමැත, නමුත් අවාසනාවකට iOS ස්ටෝරිබෝඩ් විශේෂාංග නොමැත. ඇන්ඩ්‍රොයිඩ් හි නම්‍යශීලී UI නිර්මාණය කිරීම පහසු දෙයක් නොවේ (හොඳම දේ).

විවිධ තිර ප්‍රමාණයන් සඳහා පිරිසැලසුම් සෑදීම සඳහා ඇන්ඩ්‍රොයිඩ් හි කුමක් කළ යුතු දැයි තේරුම් ගැනීමට මට උදව් වූ ලිපිය මෙන්න:

JMSTUDIO බ්ලොගය: - Android යෙදුම් තිර ප්‍රමාණය තීරණය කරන්න

විවිධ තිර ප්‍රමාණයන් සඳහා ඇන්ඩ්‍රොයිඩ් යෙදුම් සඳහා UI නිර්මාණය කරන්නේ කෙසේද

විවිධ තිර ප්‍රමාණයන් සඳහා යෙදුම් UI එකක් නිර්මාණය කිරීම සඳහා, අපගේ ආරම්භක සැලසුමට එක් එක් තිර ප්‍රමාණයට අවශ්‍ය අවම ඉඩ ප්‍රමාණයක් සපුරාලිය යුතුය. සෑම සාමාන්‍ය තිර වර්ගයක් සඳහාම ඇන්ඩ්‍රොයිඩ් අවම ප්‍රමාණය (ඩීපී වලින්) අර්ථ දක්වයි. මෙන්න ඇන්ඩ්‍රොයිඩ් තිර ප්‍රමාණයේ මාර්ගෝපදේශයකි. ඇන්ඩ්‍රොයිඩ් සඳහා අවම තිර ප්‍රමාණය dp අපි තිරයේ ප්‍රමාණය dp වලින් ලබා ගත් විට, ඇන්ඩ්‍රොයිඩ් යෙදුම UI නිර්මාණය කිරීම අපට ප්‍රමාණවත් නොවේ. සෑම තිර ප්‍රමාණයකටම, එක් එක් .නත්වය සඳහා ග්‍රැෆික් සහ බිට්මැප් රූප සකස් කළ යුතුය. මෙන්න ඇන්ඩ්‍රොයිඩ් තිර dens නත්ව මාර්ගෝපදේශයකි. Android ens නත්ව මාර්ගෝපදේශය (dpi)

පහසු ගණනය කිරීම සඳහා, අපට සාමාන්‍ය dens නත්වයන් හතර අතර 3: 4: 6: 8 පරිමාණ අනුපාතය අනුගමනය කළ හැකිය. අපි ldpi උපාංගය සඳහා පික්සල් 36 × 36 පින්තූරයක් නිර්මාණය කරන්නේ නම්, ඉතිරි dens නත්වයේ පින්තූර ප්‍රමාණය mdpi සඳහා 48 × 48, hdpi සඳහා 72 × 72 සහ xhdpi සඳහා 96 × 96 වේ.

Photoshop හි Android යෙදුම් UI නිර්මාණය කරන්නේ කෙසේද

බොහෝ නිර්මාණකරුවන්ට ඇන්ඩ්‍රොයිඩ් ඇප් යූඅයි ෆොටෝෂොප් හෝ වෙනත් පික්සල් මත පදනම් වූ ග්‍රැෆික් නිර්මාණ මෙවලම්වල dens නත්ව-ස්වාධීන ඒකකය නිසා නිර්මාණය කිරීමේදී ගැටළු ඇත. නිර්මාණකරුවන් dp සිට පික්සෙල් සිතියම් ගත කරන්නේ කෙසේදැයි නොදනී. ඩීපී සහ පික්සෙල් පරිවර්තනය සඳහා මූලික සූත්‍රයක් ලබා දුන්නද ගූගල් ඔවුන් සඳහා පැහැදිලි ඇන්ඩ්‍රොයිඩ් යූඅයි සැලසුම් මාර්ගෝපදේශයක් ලබා නොදේ.

ඇන්ඩ්‍රොයිඩ් හි අර්ථ දැක්වීම අනුව, 160 dpi උපාංගය (mdpi) යටතේ 1pd 1px ට සමාන වේ. එම්ඩීපී dens නත්වය සහිත xlarge ඇන්ඩ්‍රොයිඩ් උපාංගයක් සඳහා ඇන්ඩ්‍රොයිඩ් යෙදුමක් නිර්මාණය කිරීමට අපට අවශ්‍යය, අපගේ UI ප්‍රමාණය පික්සෙල් වලින් පළල පික්සල් 960 ක් සහ උස 720px ලෙස අර්ථ දැක්විය හැකිය; එකම සිතියම්කරණ රීතිය අනුගමනය කරන්න, අපට පහත දැක්වෙන ඇන්ඩ්‍රොයිඩ් ඇප් තිර ප්‍රමාණය UI සැලසුම් මාර්ගෝපදේශය ලබා ගත හැකිය:

ඇන්ඩ්‍රොයිඩ් ඇප් තිර ප්‍රමාණය පික්සල් මාර්ගෝපදේශයේ

එකතු කරන ලදි : ඔබ "නම්‍යශීලී" UI ගැනද උනන්දුවක් දක්වන්නේ නම්, මෙම පුස්තකාලය දෙස බලන්න: නව ප්‍රමාණයේ ඒකකයක් සපයන ඇන්ඩ්‍රොයිඩ් එස්ඩීකේ - එස්ඩීපී (පරිමාණය කළ හැකි ඩීපී). මෙම ප්‍රමාණයේ ඒකකය තිරයේ ප්‍රමාණය සමඟ පරිමාණය කරයි (මෙය මෙහි පිළිතුරක්, SDPපුස්තකාලය ගැන ද සඳහන් වේ )

ADDED2 ගූගල් විසින් iOS ගබඩා පුවරු UI සංකල්පයේ ප්‍රයෝජනය අවසාන වශයෙන් වටහාගෙන ඇති අතර, මෙහි ConstraintLayoutඇන්ඩ්‍රොයිඩ් ලෝකය සඳහා ය: සීමාසහිත ලේයූට් සමඟ ප්‍රතිචාරාත්මක UI එකක් සාදන්න


32

1) dp: (density independent pixels)

තිරයේ විභේදනය වැඩි වන විට (ඔබට අඟල් එකකට වැඩි තිත් / පික්සෙල් ඇති විට) එක් ඒකකයක නිරූපණය වන පික්සෙල් ගණන වැඩි වේ. අඩු විභේදන සහිත උපාංගවල අනෙක් අතට, dp ඒකකයේ නිරූපණය වන පික්සෙල් ගණන අඩු වේ. මෙය සාපේක්ෂ ඒකකයක් බැවින් එය සැසඳීමට මූලික පදනමක් තිබිය යුතුය. මෙම පාදම 160 dpi තිරයකි. සමීකරණය මෙයයි:px = dp * (dpi / 160).


2) sp: (scale independent pixels)

මෙම ඒකකය තිරයේ dpi (dp හා සමාන) මෙන්ම පරිශීලකයාගේ අකුරු ප්‍රමාණයේ මනාපය අනුව පරිමාණය කරයි.


3) px: (pixels)

තිරයේ සත්‍ය පික්සල් හෝ තිත්.


වැඩි විස්තර සඳහා ඔබට පිවිසිය හැකිය

Android සංවර්ධක මාර්ගෝපදේශය> මානය
Android සංවර්ධක මාර්ගෝපදේශය> තිර


29

තිර ප්රමාණය ඇන්ඩ්රොයිඩ් තුළ කාණ්ඩ කාණ්ඩගත කෙරේ ldpi, mdpi, hdpi, xhdpi, xxhdpiහා xxxhdpi. තිර dens නත්වය යනු තිරයේ යම් ප්‍රදේශයක (අඟල් වැනි) පික්සෙල් ප්‍රමාණයයි. සාමාන්‍යයෙන් එය මනිනු ලබන්නේ අඟල් එකකට තිත් වලින් ( dpi).

PX(Pixels):

  • තිරයේ පික්සෙල් වෙත සිතියම් ගත කරන අපගේ සුපුරුදු සම්මත පික්සෙල්. pxනිරපේක්ෂ පික්සල් සඳහා අදහස් කෙරේ. පළල හෝ උස සඳහා නිරපේක්ෂ පික්සෙල් අනුව ඔබට ලබා දීමට අවශ්‍ය නම් මෙය භාවිතා වේ. නිර්දේශ නොකරයි.

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

  • dip == dp. පෙර ඇන්ඩ්‍රොයිඩ් සංස්කරණ වලදී ඩිප් භාවිතා කළ අතර පසුව එය වෙනස් කරන ලදි dp. මෙය විකල්පයකි px.

  • සාමාන්‍යයෙන් අපි කිසි විටෙකත් භාවිතා pxනොකරන්නේ එය නිරපේක්ෂ වටිනාකම නිසාය. ඔබ pxපළල හෝ උස සැකසීමට භාවිතා කරන්නේ නම් සහ එම යෙදුම විවිධ තිර ප්‍රමාණයේ උපාංගවලට බාගත කරන්නේ නම්, තිරයේ මුල් ප්‍රමාණයට අනුව එම දර්ශනය දිගු නොවේ.

  • dpවෙනුවට භාවිතා කිරීම නිර්දේශ කෙරේ px. dpතිරයේ ප්‍රමාණයන් මත පදනම්ව වර්ධනය වීමට හා ගතිකව හැකිලීමට පළල සහ උස සඳහන් කිරීමට අවශ්‍ය නම් භාවිතා කරන්න .

  • අප ලබා දෙන්නේ නම් dp/dip, ඇන්ඩ්‍රොයිඩ් ස්වයංක්‍රීයව පික්සල් ප්‍රමාණය ගණනය කරන්නේ පික්සල් 160 ප්‍රමාණයේ තිරය මතය.

SP(Scale independent pixels):

  • පරිශීලකයාගේ අකුරු ප්‍රමාණ මනාපය මත පදනම්ව පරිමාණය කර ඇත. අකුරු භාවිතා කළ යුතුය sp.

  • විවිධ තිර ප්‍රමාණයන්ට ගැලපෙන අකුරු ප්‍රමාණ සඳහන් කිරීමේදී භාවිතා කරන්න sp. මෙය සමාන වේ .විශේෂයෙන්ම අකුරු ප්‍රමාණයන් වැඩීමට හා තිර ප්‍රමාණය මත පදනම්ව ගතිකව හැකිලීමට dpභාවිතා කරන්නsp

Android ප්‍රලේඛනය පවසන්නේ:

මානයන් නියම කිරීමේදී, සෑම විටම dpහෝ spඒකක භාවිතා කරන්න . A dpයනු ity නත්වයෙන් තොර ස්වාධීන පික්සෙල් වන අතර එය 160 ට පික්සෙල්හි භෞතික ප්‍රමාණයට අනුරූප වේ dpi. An spයනු එකම පාදක ඒකකය වන නමුත් එය පරිශීලකයාගේ කැමති පෙළ ප්‍රමාණයෙන් පරිමාණය කර ඇත (එය පරිමාණයෙන් ස්වාධීන පික්සෙල් වේ), එබැවින් පෙළ ප්‍රමාණය නිර්වචනය කිරීමේදී ඔබ මෙම මිනුම් ඒකකය භාවිතා කළ යුතුය


21

ජංගම දුරකථනයක තිරය සෑදී ඇත්තේ පික්සල් (px) නමින් හැඳින්වෙන කුඩා තිත් දහස් ගණනකිනි . පික්සෙල් යනු පින්තූරය සෑදීමට යන කුඩාම මූලද්‍රව්‍යයයි. පින්තූරයක් හෝ වචන මාලාවක් සෑදීම සඳහා පික්සෙල් ගණන වැඩි වන තරමට එය තියුණු වන අතර ස්මාර්ට්ෆෝන් තිරය වඩාත් පහසුවෙන් කියවිය හැකිය.

තිර විභේදනය මනිනු ලබන්නේ තිරයේ ඇති පික්සෙල් ගණන අනුව ය. තිර විභේදනය යනු උපාංගයක් මිලට ගැනීමේදී බහුලව භාවිතා වන පිරිවිතරයකි, නමුත් ඇන්ඩ්‍රොයිඩ් සඳහා සැලසුම් කිරීමේදී එය එතරම් ප්‍රයෝජනවත් නොවේ, මන්ද පික්සල් අනුව තිර ගැන සිතීම භෞතික ප්‍රමාණය පිළිබඳ සංකල්පය නොසලකා හරින අතර ස්පර්ශ උපාංගයක් සඳහා එය සැබවින්ම වැදගත් වේ.

Target නත්ව ස්වාධීන පික්සෙල් (ඩීපී හෝ ඩිප්) ඉලක්කගත උපාංගයේ විභේදනය හෝ ity නත්වය නොසලකා අපේක්ෂිත ආකාරයෙන් පෙනෙන වත්කම් නිර්මාණය කිරීමට නිර්මාණකරුට ඉඩ දෙයි.

Independ නත්වයේ ස්වාධීන පික්සෙල් (ඩීපී හෝ ඩිප්) මූලික dens නත්වයේ එක් පික්සෙල් එකකට සමාන වේ 160 ඩීපී (අඟල් එකකට තිත්).

1 px / 1dp = 160 dpi / 160 dpi

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

කොහෙද,

dpi යනු අඟලකට තිත් වේ

ඉතින්, 320 dpi දී 1 dp 2 px ට සමාන වේ.

සූත්‍රය

px / dp = dpi / 160dpi

අඟල් තිත් (dpi) යනු දර්ශන තිරයක ඇති තියුණු බව (එනම් ආලෝකමත් ස්ථානවල ity නත්වය) මැනීමකි. ලබා දී ඇති පින්තූර විභේදනය සඳහා අඟලකට තිත් වෙනස් වනුයේ එකම තිරයේ ප්‍රමාණය වෙනස් අවකාශයක් පුරා විහිදෙන බැවිනි.

Pix නත්ව ස්වාධීන පික්සෙල් සමඟ වැඩ කිරීම ඔබට එකම පික්සල් විභේදනයක් සහිත උපාංග දෙකක් ඇති නමුත් වෙනස් ඉඩ ප්‍රමාණයක් වැනි තත්වයක් සමඟ කටයුතු කිරීමට අපට උපකාරී වේ. නඩුවකදී, ටැබ්ලටයක් සහ දුරකථනයකට පික්සල් විභේදනය 1280 සිට 800 පික්සල් (160 ඩීපී) සහ 800 පික්සල් 1280 (320 ඩීපී) පිළිවෙලින් ඇත.

දැන් ටැබ්ලටයක් මූලික dens නත්වයේ (160 dpi) ඇති බැවින් එහි භෞතික හා ity නත්ව ස්වාධීන පික්සෙල් ප්‍රමාණය සමාන වේ, 1280 සිට 800 දක්වා. අනෙක් අතට දුරකථනය වැඩි පික්සල් ity නත්වයක් ඇති බැවින් භෞතික මෙන් ity නත්ව ස්වාධීන පික්සල් භාගයක් ඇත පික්සල. ඉතින් දුරකථනයක 400 සිට 640 දක්වා ස්වාධීන පික්සල් ඇත. එබැවින් tablet නත්වයෙන් තොර ස්වාධීන පික්සෙල් භාවිතා කිරීමෙන් ටැබ්ලටයට දුරකථනයට වඩා වැඩි ඉඩක් ඇති බව මානසිකව සිතීම පහසු කරයි.

ඒ හා සමානව, ඔබට සමාන තිර ප්‍රමාණයක්, නමුත් වෙනස් පික්සල් ity නත්වයක් ඇති උපාංග දෙකක් තිබේ නම්, එකක් 800 සිට 1280 පික්සල් (320 dpi) යැයි කියන්න, අනෙක 400 සිට 640 පික්සල් (160 dpi), අපට මුළුමනින්ම නිර්වචනය කිරීමට අවශ්‍ය නැත උපාංග දෙකටම සමාන වන dens නත්ව ස්වාධීන පික්සෙල් අනුව අපට වත්කම් මැනිය හැකි බැවින් මෙම උපාංග දෙක සඳහා විවිධ පිරිසැලසුම්.

800 by 1280 පික්සල (320dpi) = 400 by 640 ity නත්ව ස්වාධීන පික්සෙල් (dp)

400 සිට 640 පික්සල (160 dpi) = 400 by 640 ity නත්ව ස්වාධීන පික්සෙල් (dp)

පරිමාණ ස්වාධීන පික්සෙල් (sp) යනු අකුරු ප්‍රමාණය සඳහා වඩාත් කැමති ඒකකයයි. ප්‍රවේශ්‍යතා අරමුණු සඳහා, ඇන්ඩ්‍රොයිඩ් පරිශීලකයින්ට ඔවුන්ගේ උපාංගයේ අකුරු ප්‍රමාණය රිසිකරණය කිරීමට ඉඩ දෙයි. පෙළ කියවීමේ අපහසුතා ඇති පරිශීලකයින්ට ඔවුන්ගේ උපාංගයේ අකුරු ප්‍රමාණය වැඩි කළ හැකිය. ඔබට සාමාන්‍යයෙන් මෙම විකල්පය ඔබේ දුරකථනයේ හෝ ටැබ්ලටයේ අකුරු ප්‍රමාණය යටතේ දර්ශන සැකසුම තුළ සොයාගත හැකිය. එය බොහෝ විට ප්‍රවේශ්‍යතා සැකසුම් හරහා ද ලබා ගත හැකිය.

පරිමාණයේ ස්වාධීන පික්සෙල් සමඟ, උපාංගයේ අකුරු ප්‍රමාණය සාමාන්‍ය හෝ 100% ක් වන විට 16 sp හරියටම 16 dp ට සමාන වේ. නමුත් උපාංගයේ අකුරු ප්‍රමාණය විශාල වන විට, උදාහරණයක් ලෙස 125%, 16 sp 20 dp හෝ 1.25 ගුණයක් 16 දක්වා පරිවර්තනය වේ.

ඔබ අකුරු ප්‍රමාණය සඳහා ඒකකය ලෙස dp භාවිතා කරන්නේ නම්, පරිශීලකයාට උපාංගයේ අකුරු ප්‍රමාණය රිසිකරණය කර ඇත්නම් එම පා piece යේ නිශ්චිත භෞතික ප්‍රමාණයක් ඇත. ඇස් පෙනීම දුර්වල අයට sp ඒකක භාවිතා කිරීම වඩා හොඳ අත්දැකීමක් ලබා දෙනු ඇත.

යොමුව : උදාසිටි , ගූගල්


19

sp: පරිමාණ ස්වාධීන පික්සෙල්

ඔබ එය පෙළ සමඟ භාවිතා කළ යුත්තේ එය පරිශීලකයා විසින් ඔහුගේ උපාංගයේ භාවිතා කරන අකුරු ප්‍රමාණයට අනුව ස්වයංක්‍රීයව පරිමාණය කර ඇති බැවිනි.

px: පික්සෙල් හෝ පින්තූර මූලද්‍රව්‍යය යනු තිරයේ ඇති තනි ලක්ෂ්‍යයයි


19

පික්සල් ity නත්වය

තිර පික්සල් ity නත්වය සහ විභේදනය වේදිකාව අනුව වෙනස් වේ. උපාංග-ස්වාධීන පික්සෙල් සහ පරිමාණය කළ හැකි පික්සල් යනු වේදිකා හරහා මෝස්තරයකට ඉඩ සැලසෙන නම්‍යශීලී ක්‍රමයක් සපයන ඒකක වේ.

පික්සල් ity නත්වය ගණනය කිරීම

අඟලකට ගැලපෙන පික්සෙල් ගණන පික්සල් ity නත්වය ලෙස හැඳින්වේ. ඉහළ dens නත්ව තිරවල අඩු dens නත්වයට වඩා අඟල් එකකට පික්සෙල් වැඩිය ....

අඟලකට ගැලපෙන පික්සෙල් ගණන පික්සල් ity නත්වය ලෙස හැඳින්වේ. ඉහළ dens නත්ව තිරවල අඩු dens නත්වයට වඩා අඟල් එකකට පික්සෙල් වැඩිය. මෙහි ප්‍රති As ලයක් ලෙස එකම පික්සල් මානයන්හි UI මූලද්‍රව්‍ය අඩු dens නත්ව තිරවල විශාල වන අතර ඉහළ dens නත්ව තිරවල කුඩා වේ.

තිර dens නත්වය ගණනය කිරීම සඳහා, ඔබට මෙම සමීකරණය භාවිතා කළ හැකිය:

තිර dens නත්වය = තිර පළල (හෝ උස) පික්සල් / තිර පළල (හෝ උස) අඟල් වලින්

ඉහළ ity නත්වය එදිරිව අඩු dens නත්ව සංදර්ශක

Ens නත්වයේ ස්වාධීනත්වය

තිර පික්සල් ity නත්වය සහ විභේදනය වේදිකාව අනුව වෙනස් වේ. උපාංග-ස්වාධීන පික්සෙල් සහ පරිමාණය කළ හැකි පික්සල් යනු වේදිකා හරහා මෝස්තරයකට ඉඩ සැලසෙන නම්‍යශීලී ක්‍රමයක් සපයන ඒකක වේ.

පික්සල් ity නත්වය ගණනය කිරීම අඟලකට ගැලපෙන පික්සෙල් ගණන පික්සල් ity නත්වය ලෙස හැඳින්වේ . ඉහළ dens නත්ව තිරවල අඩු dens නත්වයට වඩා අඟල් එකකට පික්සෙල් වැඩිය ....

Indens නත්වයේ ස්වාධීනත්වය යනු විවිධ ities නත්වයන් සහිත තිරවල UI මූලද්‍රව්‍ය ඒකාකාරව ප්‍රදර්ශනය කිරීමයි.

D නත්වය-ස්වාධීන පික්සෙල් , ඩීපී (උච්චාරණය කරන ලද “ ඩිප්ස් ”) ලෙස නම් කර ඇති නම්යශීලී ඒකක වන අතර එය ඕනෑම තිරයක ඒකාකාර මානයන් ඇති බව පරිමාණය කරයි. විවිධ U නත්වයන් සහිත තිරවල මූලද්‍රව්‍ය නිරන්තරයෙන් ප්‍රදර්ශනය කිරීම සඳහා ද්‍රව්‍ය UIs dens නත්ව-ස්වාධීන පික්සෙල් භාවිතා කරයි.

  1. අඩු dens නත්ව තිරය dens නත්ව ස්වාධීනත්වය සමඟ දර්ශනය වේ
  2. ඉහළ dens නත්ව තිරය dens නත්ව ස්වාධීනත්වය සමඟ දර්ශනය වේ

සම්පූර්ණ පා read ය කියවන්න https://material.io/design/layout/pixel-decity.html


16

පික්සෙල් (px) - තිරයේ ඇති සැබෑ පික්සල් වලට අනුරූප වේ. පළල හෝ උස සඳහා නිරපේක්ෂ පික්සෙල් අනුව ඔබට ලබා දීමට අවශ්‍ය නම් මෙය භාවිතා වේ.

Ens නත්ව-ස්වාධීන පික්සෙල් (dp හෝ dip) - තිරයේ භෞතික ity නත්වය මත පදනම් වූ වියුක්ත ඒකකයකි. මෙම ඒකක 160 dpi තිරයකට සාපේක්ෂ වේ, එබැවින් එක් dp 160 dpi තිරයක එක් පික්සෙල් වේ. තිරයේ ity නත්වය සමඟ dp-to-pixel අනුපාතය වෙනස් වනු ඇත, නමුත් අවශ්‍යයෙන්ම සෘජු සමානුපාතිකව නොවේ. සටහන: සම්පාදකයා “ඩිප්” සහ “ඩීපී” යන දෙකම පිළිගනී, නමුත් “ඩීපී” “එස්පී” සමඟ වඩා අනුකූල වේ.

පරිමාණ-ස්වාධීන පික්සෙල් (sp) - මෙය dp ඒකකය හා සමාන ය, නමුත් එය පරිශීලකයාගේ අකුරු ප්‍රමාණ මනාපයෙන් ද පරිමාණය කර ඇත. අකුරු ප්‍රමාණ නියම කිරීමේදී මෙම ඒකකය භාවිතා කිරීම රෙකමදාරු කරනු ලැබේ, එබැවින් ඒවා තිර dens නත්වය සහ පරිශීලකයාගේ මනාපය යන දෙකම සඳහා සකස් කරනු ලැබේ.

සෑම විටම dp සහ sp පමණක් භාවිතා කරන්න. අකුරු ප්‍රමාණ සඳහා sp සහ අනෙක් සියල්ල සඳහා dp. එය විවිධ ities නත්වයන් සහිත ඇන්ඩ්‍රොයිඩ් උපාංග සඳහා UI අනුකූල කරයි. පික්සෙල් සහ ඩීපී ගැන ඔබට https://www.google.com/design/spec/layout/units-measurements.html#units-measurements-decity-independent-pixels-dp- වෙතින් වැඩිදුර ඉගෙන ගත හැකිය.

මූලාශ්‍ර url: - http://www.androidtutorialshub.com/what-is-the-difference-between-px-dp-dip-sp-on-android/


15

මට තේරුම් ගැනීමට පහසු ක්‍රමයක් සැපයීමට අවශ්‍යයි dp. ඇත්ත වශයෙන්ම, මම dpතේරුම් ගැනීමට පහසුම එක යැයි සිතමි . dpභෞතික දිග ඒකකයක් පමණි. එය සමාන මානයකින් mmහෝ inch. එය අපට ලියන්න සඳහා පමණක් පහසු දෙයක් 50dp, 60dpවඩා 50/160 inchහෝ 60/160 inchඑක් නිසා, dpහුදෙක් 1/160 inchතිර ප්රමාණය හෝ යෝජනාවක් ඕනෑම.

එකම ගැටළුව නම්, සමහර තිරවල android dpi නිවැරදි නොවේ. උදාහරණයක් ලෙස, 160dpi ලෙස වර්ගීකරණය කරන ලද තිරයක ඇත්ත වශයෙන්ම 170dpi තිබිය හැකිය. එබැවින් ගණනය කිරීමේ ප්‍රති result dpලය නොපැහැදිලි ය. එය දළ වශයෙන් සමාන විය යුතුය 1/160 inch.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.