ඇන්ඩ්රොයිඩ් මිනුම් ඒකක අතර වෙනස කුමක්ද?
- px
- බිංදු
- dp
- sp
ඇන්ඩ්රොයිඩ් මිනුම් ඒකක අතර වෙනස කුමක්ද?
Answers:
සිට Android සංවර්ධක Documentation :
px
පික්සෙල් - තිරයේ ඇති සැබෑ පික්සල් වලට අනුරූප වේ.
දී
අඟල් - තිරයේ භෞතික ප්රමාණය මත.
1 අඟල් = සෙන්ටිමීටර 2.54
mm
මිලිමීටර - තිරයේ භෞතික ප්රමාණය මත පදනම්ව.
pt
ලකුණු - තිරයේ භෞතික ප්රමාණය මත පදනම්ව අඟල් 1/72 ක්.
ප්රජාතන්ත්රවාදී පක්ෂය හෝ පැමිනෙන
ඝනත්වය පික්සල -independent - තිරයේ භෞතික ඝනත්වය මත පදනම් වෙලා කටයුතු කරන බව ද වියුක්ත ඒකකය. මෙම ඒකක 160 dpi තිරයකට සාපේක්ෂ වේ, එබැවින් එක් dp 160 dpi තිරයක එක් පික්සෙල් වේ. තිරයේ ity නත්වය සමඟ dp-to-pixel අනුපාතය වෙනස් වනු ඇත, නමුත් අවශ්යයෙන්ම සෘජු සමානුපාතිකව නොවේ. සටහන: සම්පාදකයා "ඩිප්" සහ "ඩීපී" යන දෙකම පිළිගනී, නමුත් "ඩීපී" "එස්පී" සමඟ වඩා අනුකූල වේ.
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 | | | |
+---------+-------------+---------------+-------------+--------------------+
වැඩි විස්තර ගූගල් නිර්මාණ ප්රලේඛනයෙන් ද සොයාගත හැකිය .
dp
නැහැ නැහැ හරියටම සමාන භෞතික දිග ඇති. (එය ආසන්න වුවද.) @ බාල්දිය ගැන ෆ්රැගල්ගේ අදහස බලන්න. මෙයින් අදහස් කරන්නේ 48dp දළ වශයෙන් 8mm (අඟල් 0.3) ක් වනු ඇති නමුත් එය 11mm දක්වා වෙනස් විය හැකි බවයි.
මේ පිළිබඳ බොහෝ දේ සහ විවිධ ප්රමාණයේ සහ 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 ඒකක භාවිතා කළ යුතුය.
එක් වර්ගයකට වඩා වැඩි උපාංගයක් සඳහා ඇන්ඩ්රොයිඩ් යෙදුමක් සංවර්ධනය කිරීම පිළිබඳව ඔබ කිසියම් බැරෑරුම් නම්, අවම වශයෙන් එක් වරක් වත් තිර ආධාරක සංවර්ධන ලේඛනය කියවා තිබිය යුතුය. ඊට අමතරව, විශේෂිත තිර වින්යාසයක් ඇති ක්රියාකාරී උපාංගවල සත්ය සංඛ්යාව දැන ගැනීම සැමවිටම හොඳ දෙයකි.
Dp හරියටම px බවට පරිවර්තනය කරන්නේ කෙසේද යන්න පිළිබඳව මම වැඩි විස්තර කරන්නම්:
150 x 150 px
රූපයක් 150 * 150 dp
තිර අවකාශය ගනී.150 x 150 px
රූපයක් 100 * 100 dp
තිර අවකාශය ගනී.150x150 px
රූපයක් 75 * 75 dp
තිර අවකාශය ගනී.අනෙක් පැත්ත: කියන්න, ඔබේ යෙදුමට රූපයක් එක් කිරීමට ඔබට අවශ්ය අතර 100 * 100 dp
පාලනයක් පිරවීමට ඔබට එය අවශ්ය වේ. සහාය දක්වන තිර ප්රමාණයන් සඳහා ඔබට විවිධ ප්රමාණයේ රූප සෑදිය යුතුය:
100 * 100 px
mdpi සඳහා රූපය150 * 150 px
hdpi සඳහා රූපය200 * 200 px
xhdpi සඳහා රූපය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
තවද පහත සඳහන් සංකල්ප පිළිබඳව ඔබට පැහැදිලි අවබෝධයක් තිබිය යුතුය:
තිර ප්රමාණය:
තථ්ය භෞතික ප්රමාණය, තිරයේ විකර්ණය ලෙස මනිනු ලැබේ. සරල බව සඳහා, ඇන්ඩ්රොයිඩ් සියළුම සත්ය තිර ප්රමාණයන් සාමාන්යකරණය කළ ප්රමාණ හතරකට කාණ්ඩ කරයි: කුඩා, සාමාන්ය, විශාල සහ අමතර විශාල.
තිර 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 ඒකක භාවිතා කළ යුතුය.
dp
වේ dip
. සෑම දෙයක් සඳහාම එය භාවිතා කරන්න (ආන්තිකය, පෑඩින් ආදිය).
sp
{පෙළ ප්රමාණය} සඳහා පමණක් භාවිතා කරන්න .
අතර වෙනස බලන්න px
, dp
සහ sp
විවිධ තිර ප්රමාණ මත.
මූලාශ්රය: ඇන්ඩ්රොයිඩ් ක්රමලේඛනය: බිග් නර්ඩ් රැන්ච් මාර්ගෝපදේශය
px හෝ dot යනු භෞතික තිරයේ ඇති පික්සෙල් ය.
dpi යනු භෞතික තිරයේ අඟලකට පික්සල් වන අතර දර්ශනයේ ity නත්වය නිරූපණය කරයි.
ඇන්ඩ්රොයිඩ් dens නත්ව කිහිපයකට අන්වර්ථ නාම ලබා දෙයි
පැමිනෙන හෝ ඩී.පී. වේ ඝනත්වය-indenpendant පික්සල , එනම්, ඔවුන් භෞතික ඝනත්වය අනුව අඩු හෝ වැඩි පික්සල අනුරූප.
sp හෝ sip යනු පරිමාණයෙන් ස්වාධීන පික්සෙල් ය . විශාල පෙළ විකල්පය Settings> තුළ සක්රිය කර ඇති විට ඒවා පරිමාණය කර ඇතAccessibility
පෙළ ප්රමාණය සඳහා sp භාවිතා කරන්න .
අනෙක් සියල්ල සඳහා dp භාවිතා කරන්න .
මූලාශ්රය 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 ගොනුවක ඇති මාන සම්පත් වෙනත් සරල සම්පත් සමඟ ඒකාබද්ධ කළ හැකිය.
මූලික වශයෙන් px අදාළ වන එකම කාලය එක් px එකක් වන අතර, බෙදුම්කරුවෙකු මෙන් තිරයේ හරියටම එක් පික්සෙල් එකක් ඔබට අවශ්ය නම්:
> 160 dpi මත, ඔබට පික්සල් 2-3 ක් ලැබෙනු ඇත,
> 120 dpi මත, එය 0 දක්වා වටය.
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# මානය
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
එය ඉහත විස්තර කර ඇත. පිරිසැලසුම් ලිපිගොනු වලක්වා ගැනීමට උත්සාහ කරන්න. නමුත් සමහර අවස්ථා තිබේ, එහිදී px අවශ්ය වේ. උදාහරණයක් ලෙස, ListView බෙදුම්කරු රේඛාව. තිරයේ විභේදන හරහා සැමට බෙදුම්කරුවෙකු ලෙස එක් පික්සල් රේඛාවක් ලබා දීම සඳහා px වඩා හොඳය.
අකුරු ප්රමාණ සඳහා sp භාවිතා කරන්න. උපාංගයේ අකුරු ප්රමාණය වෙනස් වන අතර යෙදුම තුළ ඇති අකුරු පමණක් වෙනස් වේ (එනම් උපාංගයේ දර්ශන -> අකුරු). යෙදුම තුළ ස්ථිතික ප්රමාණයේ අකුරු තබා ගැනීමට ඔබට අවශ්ය නම්, ඔබට අකුරු මානය dp වලින් ලබා දිය හැකිය. එවැනි අවස්ථාවක එය කිසි විටෙකත් වෙනස් නොවේ. සමහර විශේෂිත තිර සඳහා සංවර්ධකයින්ට එවැනි අවශ්යතාවයක් ලබා ගත හැකිය, ඒ සඳහා සංවර්ධකයින්ට sp වෙනුවට dp භාවිතා කළ හැකිය. අනෙක් සියලුම අවස්ථාවන්හිදී, sp නිර්දේශ කරනු ලැබේ.
පහත පින්තූරය අතර px
සහ අතර වෙනස ඔබට දැකිය හැකි අතර , විවිධ තිරවල එකම භෞතික ප්රමාණ සහතික කිරීමට සහ නොහැකි dp
බව ඔබට සොයාගත හැකිය .px
dp
පෙළ හා පෙනුම විශාලත්වය සමග සම්බන්ධ ඕනෑම දෙයක් භාවිතා කළ යුතුය sp
හෝ pt
. ෙකෙසේෙවතත්, පාලකවල විශාලත්වය, පිරිසැලසුම් ආදිය සම්බන්ධ ඕනෑම දෙයක් භාවිතා කළ යුතුය dp
.
ඔබට දෙකම dp
සහ dip
එහි ස්ථාන භාවිතා කළ හැකිය .
මම භාවිතා කරන්නේ dp පමණි.
අකුරු ප්රමාණ සඳහා “sp” භාවිතා කිරීම පිළිබඳව විශාල කතාබහක් ඇති අතර, මම එම කරුණ අගය කරන අතරම, නිර්මාණ දෘෂ්ටි කෝණයකින් එය කිරීම නිවැරදි දෙය යැයි මම නොසිතමි. පරිශීලකයාට සිත් ඇදගන්නාසුළු අකුරු ප්රමාණ තේරීමක් තිබේ නම් ඔබට ඔබේ සැලසුම බිඳ දැමිය හැකිය, පරිශීලකයා ඔවුන්ගේ ජීවිත තේරීම් නොව යෙදුමට දොස් පැවරීම අවසන් කරයි .
එසේම, ඔබ 160 dpi ටැබ්ලට් පරිගණකයක sp-font යෙදුමක් ගතහොත්, සෑම දෙයක්ම පරිමාණයෙන් ඉහළ යන බව ඔබට පෙනී යනු ඇත ... නමුත් ඔබේ අකුරු, සාපේක්ෂව කුඩා ලෙස පෙනෙනු ඇත. එය හොඳ පෙනුමක් නොවේ.
"Sp" අකුරු පිළිබඳ අදහස හොඳ හදවතක් ඇති නමුත් එය දුර්වල අදහසකි. සෑම දෙයක් සඳහාම dp සමඟ රැඳී සිටින්න.
sp
නේද? බලපාන ඕනෑම දෙයක් dp
ද බලපානු sp
ඇත. ඔබේ පිරිසැලසුම ඉතා තදින් හා විශාල ප්රමාණවලට නොගැලපේ නම් dp
වෙනුවට අකුරු ප්රමාණ නියම කිරීම වඩාත් සුදුසු බව එයින් කියැවේ sp
- සම්පූර්ණයෙන්ම අවුල් සහගත පිරිසැලසුමක් පරිශීලකයාට අවශ්ය ප්රමාණයට වඩා කුඩා පෙළක් තිබීම හොඳය. නමුත් පළමු අවස්ථාවේදී ඔබ සැමවිටම උත්සාහ කළ යුත්තේ පරිශීලකයාගේ අකුරු ප්රමාණයේ මනාපයට ගරු කිරීමට ය - විශාලතම සැකසුම පවා එතරම් විශාල නොවේ.
sp = පරිමාණ ස්වාධීන පික්සෙල්
dp = dip = ity නත්ව ස්වාධීන පික්සල
dpi = අඟලකට තිත්
අපි sp භාවිතා කිරීමෙන් වැළකී සිටිය යුතුයි .
බහු තිර සඳහා සහය දැක්වීමට අපි dp භාවිතා කළ යුතුය .
ඇන්ඩ්රොයිඩ් විවිධ තිර විභේදන සඳහා සහය දක්වයි
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();
නිල ලියකියවිලි වලින් පිටපත් කරන ලද පිළිතුරු මගින් " පරිශීලකයාගේ අකුරු ප්රමාණ මනාපය " ලෙස සඳහන් කර ඇති ඒකක dp
සහ sp
ඒකක අතර වෙනස විකල්පය වෙනස් කිරීමෙන් ධාවන වේලාවේදී දැකිය හැකිය.Settings->Accessibility->Large Text
Large Text
විකල්පය පෙළ 1.3
වඩා විශාල වීමට බල කරයි .
private static final float LARGE_FONT_SCALE = 1.3f;
මෙය පැකේජ / යෙදුම් / සැකසීම් වල පිහිටා ඇති බැවින් විකුණුම්කරු මත රඳා පවතී .
dpi -
px - පික්සෙල්
pt - ලකුණු
අඟල් - භෞතික තිර ප්රමාණයට සාපේක්ෂව (අඟල් 1 = 2.54 සෙ.මී.).
mm- මිලිමීටර - භෞතික තිර ප්රමාණයට සාපේක්ෂව.
sp - පරිමාණ-ස්වාධීන පික්සෙල්.
ඩිප් -
සම්මතයේදී, 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
ඇන්ඩ්රොයිඩ් භාවිතා කරන සූත්රය මෙන්න:
px = dp * (dpi / 160)
මෙහි dpi යනු පහත දැක්වෙන තිර ities නත්වයන්ගෙන් එකකි. හැකි සියලු ities නත්ව ලැයිස්තුවක් සඳහා මෙහි යන්න
එය "DENSITY_ *" නියතයන් අර්ථ දක්වයි.
සිට ගෙන මෙහි .
ඔබේ තිරය dpi ඔබ දන්නේ නම්, px සහ dp අතර පරිවර්තනය කිරීමේදී මෙය බොහෝ ව්යාකූලතා නිරාකරණය කරයි.
ඉතින්, අපි ඔබට HDP තිරයක් සඳහා 60 dp රූපයක් අවශ්ය යැයි කියමු, එවිට භෞතික පික්සල් ප්රමාණය 60 dp වේ:
px = 60 * (240 / 160)
තිරය ප්රමාණය තුළ Android
කාණ්ඩ කාණ්ඩගත කෙරේ small
, medium
, large
, extra large
, double-extra
හා triple-extra
. තිර dens නත්වය යනු තිරයේ යම් ප්රදේශයක (අඟල් වැනි) පික්සෙල් ප්රමාණයයි. සාමාන්යයෙන් එය මනිනු ලබන්නේ අඟල්-තිත් (dpi) තිත් වලිනි. තිර dens නත්වය අඩු, මධ්යම, ඉහළ සහ අමතර ඉහළ ලෙස කාණ්ඩ කර ඇත. විභේදනය යනු තිරයේ ඇති මුළු පික්සල් ගණනයි.
ඒකක අතර පරිවර්තනය සඳහා සූත්රය
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/
කරුණාකර ප්රජා විකියෙන් පිළිතුර කියවන්න. ඉහත පිළිතුරු වලට අමතරව සලකා බැලිය යුතු තොරතුරු කිහිපයක් පහත දැක්වේ. යෙදුම් සංවර්ධනය කිරීමේදී බොහෝ ඇන්ඩ්රොයිඩ් සංවර්ධකයින්ට මෙය මග හැරේ, එබැවින් මම මෙම කරුණු එකතු කරමි.
sp = පරිමාණ ස්වාධීන පික්සෙල්
dp = ස්වාධීන pix නත්වය
dpi = dens නත්ව පික්සල
මම ඉහත පිළිතුරු හරහා ගොස් ඇත ... ඒවා නිවැරදිව සොයා ගැනීමට නොහැකි විය. පෙළ ප්රමාණය සඳහා sp, පිරිසැලසුම් සීමාවන් සඳහා dp - සම්මත. නමුත් බොහෝ උපාංගවල නොසැලකිලිමත් ලෙස භාවිතා කරන්නේ නම් පෙළ ප්රමාණය සඳහා sp පිරිසැලසුම බිඳ දමනු ඇත .
sp උපාංගයේ පෙළ ප්රමාණය ගන්න, නමුත් dp උපාංග dens නත්ව ප්රමිතිය ගන්න (උපාංගයක කිසි විටෙකත් වෙනස් නොවේ) 100sp පෙළට තිරයේ 80% ක් හෝ 100% තිරයක් වාසය කළ හැකි යැයි කියන්න.
පිරිසැලසුම් සීමාවන් සඳහා ඔබට sp භාවිතා කළ හැකිය, එය ක්රියා කරනු ඇත :) සම්පූර්ණ යෙදුම සඳහා සම්මත යෙදුමක් sp භාවිතා නොකරයි
UX සැලකිල්ලට ගනිමින් පෙළ ප්රමාණය සඳහා sp සහ dp භාවිතා කරන්න.
සමහර අය වැඩි දුර කියවීමේ හැකියාව සඳහා ඔවුන්ගේ දුරකථනයේ විශාල FONT ප්රමාණයක් භාවිතා කරයි, ඔවුන්ට කුඩා දෘඩ කේත සහිත ප්රමාණයේ පෙළ ලබා දීම UX ගැටලුවක් වනු ඇත. අවශ්ය අවස්ථාවලදී පෙළ සඳහා sp යොදන්න, නමුත් පරිශීලකයා සිය සැකසුම් වෙනස් කරන විට එය පිරිසැලසුම බිඳ නොදමන බවට වග බලා ගන්න.
ඒ හා සමානව ඔබට සියලු මානයන් සඳහා තනි යෙදුමක් තිබේ නම්, xxxhdpi වත්කම් එකතු කිරීමෙන් යෙදුමේ ප්රමාණය විශාල වේ. නමුත් දැන් xxxhdpi දුරකථන පොදු බැවින් පැති තීරුව, මෙවලම් තීරුව සහ පහළ තීරුවේ ඇති අයිකන සඳහා අවම වශයෙන් xxxhdpi වත්කම් ඇතුළත් කළ යුතුය. සියලු තිර ප්රමාණයන් සඳහා ඒකාකාර හා වඩා හොඳ තත්ත්වයේ රූප ලබා ගැනීම සඳහා දෛශික රූප වෙත ගමන් කිරීම වඩා හොඳය.
මිනිසුන් ඔවුන්ගේ දුරකථනයේ අභිරුචි අකුරු භාවිතා කරන බව සලකන්න. එබැවින් අකුරු නොමැති වීම පරතරය සහ සියල්ල සම්බන්ධ ගැටළු ඇති කළ හැකිය. අභිරුචි අකුරු සඳහා 12sp පෙළ ප්රමාණය පෙරනිමි අකුරු වලට වඩා පික්සල් කිහිපයක් ගතවනු ඇතැයි පවසන්න.
ඇන්ඩ්රොයිඩ් සඳහා අපකීර්තිය සහ පදනම් තොරතුරු සඳහා ගූගල් සංවර්ධක වෙබ් අඩවිය බලන්න. https://developer.android.com/training/multiscreen/screendensities
විවිධ තිර විභේදන සඳහා ඇන්ඩ්රොයිඩ් යෙදුම් UI නිර්මාණය කිරීම පිළිබඳ හොඳ ලිපියක් මට හමු වී ඇති අතර, මෙම ප්රදේශයේ යමෙකු සොයන අයට පමණක් එය මෙහි තැබීමට මම කැමතියි. ඔව්, එය කෙසේ හෝ ගූගල් ලියකියවිලි වල විස්තර කර ඇති බව මම දනිමි (සහ ඉහත ලිපි වල සඳහන් කර ඇත), මම එය කියවූ නමුත් එය මට හොඳ නැත (ඔව්, මම මෝඩයෙක් විය හැකිය). විවිධ තිර ප්රමාණයන් හැසිරවිය හැකි පිරිසැලසුම් සැලසුම් කරන්නේ කෙසේද යන්න මට පැහැදිලි නැත. විවිධ තිර සඳහා "නම්යශීලී" UI පිරිසැලසුමක් ක්රියාත්මක කිරීමට අවශ්ය වූ විට මම ඩීපී සංකල්පයට වෛර කරමි. (හේයි iOS සංවර්ධකයින් - ඔව්, ඔබ හරි එය ස්ටෝරිබෝඩ් සංකල්පයයි).
ඇන්ඩ්රොයිඩ් සතුව නරක UI සංකල්පයක් නොමැත, නමුත් අවාසනාවකට iOS ස්ටෝරිබෝඩ් විශේෂාංග නොමැත. ඇන්ඩ්රොයිඩ් හි නම්යශීලී UI නිර්මාණය කිරීම පහසු දෙයක් නොවේ (හොඳම දේ).
විවිධ තිර ප්රමාණයන් සඳහා පිරිසැලසුම් සෑදීම සඳහා ඇන්ඩ්රොයිඩ් හි කුමක් කළ යුතු දැයි තේරුම් ගැනීමට මට උදව් වූ ලිපිය මෙන්න:
JMSTUDIO බ්ලොගය: - Android යෙදුම් තිර ප්රමාණය තීරණය කරන්න
විවිධ තිර ප්රමාණයන් සඳහා ඇන්ඩ්රොයිඩ් යෙදුම් සඳහා UI නිර්මාණය කරන්නේ කෙසේද
විවිධ තිර ප්රමාණයන් සඳහා යෙදුම් UI එකක් නිර්මාණය කිරීම සඳහා, අපගේ ආරම්භක සැලසුමට එක් එක් තිර ප්රමාණයට අවශ්ය අවම ඉඩ ප්රමාණයක් සපුරාලිය යුතුය. සෑම සාමාන්ය තිර වර්ගයක් සඳහාම ඇන්ඩ්රොයිඩ් අවම ප්රමාණය (ඩීපී වලින්) අර්ථ දක්වයි. මෙන්න ඇන්ඩ්රොයිඩ් තිර ප්රමාණයේ මාර්ගෝපදේශයකි. අපි තිරයේ ප්රමාණය dp වලින් ලබා ගත් විට, ඇන්ඩ්රොයිඩ් යෙදුම UI නිර්මාණය කිරීම අපට ප්රමාණවත් නොවේ. සෑම තිර ප්රමාණයකටම, එක් එක් .නත්වය සඳහා ග්රැෆික් සහ බිට්මැප් රූප සකස් කළ යුතුය. මෙන්න ඇන්ඩ්රොයිඩ් තිර dens නත්ව මාර්ගෝපදේශයකි.
පහසු ගණනය කිරීම සඳහා, අපට සාමාන්ය 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 එකක් සාදන්න
1) dp: (density independent pixels)
තිරයේ විභේදනය වැඩි වන විට (ඔබට අඟල් එකකට වැඩි තිත් / පික්සෙල් ඇති විට) එක් ඒකකයක නිරූපණය වන පික්සෙල් ගණන වැඩි වේ. අඩු විභේදන සහිත උපාංගවල අනෙක් අතට, dp ඒකකයේ නිරූපණය වන පික්සෙල් ගණන අඩු වේ. මෙය සාපේක්ෂ ඒකකයක් බැවින් එය සැසඳීමට මූලික පදනමක් තිබිය යුතුය. මෙම පාදම 160 dpi තිරයකි. සමීකරණය මෙයයි:px = dp * (dpi / 160).
2) sp: (scale independent pixels)
මෙම ඒකකය තිරයේ dpi (dp හා සමාන) මෙන්ම පරිශීලකයාගේ අකුරු ප්රමාණයේ මනාපය අනුව පරිමාණය කරයි.
3) px: (pixels)
තිරයේ සත්ය පික්සල් හෝ තිත්.
වැඩි විස්තර සඳහා ඔබට පිවිසිය හැකිය
Android සංවර්ධක මාර්ගෝපදේශය> මානය
Android සංවර්ධක මාර්ගෝපදේශය> තිර
තිර ප්රමාණය ඇන්ඩ්රොයිඩ් තුළ කාණ්ඩ කාණ්ඩගත කෙරේ 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
ඒකක භාවිතා කරන්න . Adp
යනු ity නත්වයෙන් තොර ස්වාධීන පික්සෙල් වන අතර එය 160 ට පික්සෙල්හි භෞතික ප්රමාණයට අනුරූප වේdpi
. Ansp
යනු එකම පාදක ඒකකය වන නමුත් එය පරිශීලකයාගේ කැමති පෙළ ප්රමාණයෙන් පරිමාණය කර ඇත (එය පරිමාණයෙන් ස්වාධීන පික්සෙල් වේ), එබැවින් පෙළ ප්රමාණය නිර්වචනය කිරීමේදී ඔබ මෙම මිනුම් ඒකකය භාවිතා කළ යුතුය
ජංගම දුරකථනයක තිරය සෑදී ඇත්තේ පික්සල් (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 ඒකක භාවිතා කිරීම වඩා හොඳ අත්දැකීමක් ලබා දෙනු ඇත.
යොමුව : උදාසිටි , ගූගල්
තිර පික්සල් ity නත්වය සහ විභේදනය වේදිකාව අනුව වෙනස් වේ. උපාංග-ස්වාධීන පික්සෙල් සහ පරිමාණය කළ හැකි පික්සල් යනු වේදිකා හරහා මෝස්තරයකට ඉඩ සැලසෙන නම්යශීලී ක්රමයක් සපයන ඒකක වේ.
අඟලකට ගැලපෙන පික්සෙල් ගණන පික්සල් ity නත්වය ලෙස හැඳින්වේ. ඉහළ dens නත්ව තිරවල අඩු dens නත්වයට වඩා අඟල් එකකට පික්සෙල් වැඩිය ....
අඟලකට ගැලපෙන පික්සෙල් ගණන පික්සල් ity නත්වය ලෙස හැඳින්වේ. ඉහළ dens නත්ව තිරවල අඩු dens නත්වයට වඩා අඟල් එකකට පික්සෙල් වැඩිය. මෙහි ප්රති As ලයක් ලෙස එකම පික්සල් මානයන්හි UI මූලද්රව්ය අඩු dens නත්ව තිරවල විශාල වන අතර ඉහළ dens නත්ව තිරවල කුඩා වේ.
තිර dens නත්වය ගණනය කිරීම සඳහා, ඔබට මෙම සමීකරණය භාවිතා කළ හැකිය:
තිර dens නත්වය = තිර පළල (හෝ උස) පික්සල් / තිර පළල (හෝ උස) අඟල් වලින්
තිර පික්සල් ity නත්වය සහ විභේදනය වේදිකාව අනුව වෙනස් වේ. උපාංග-ස්වාධීන පික්සෙල් සහ පරිමාණය කළ හැකි පික්සල් යනු වේදිකා හරහා මෝස්තරයකට ඉඩ සැලසෙන නම්යශීලී ක්රමයක් සපයන ඒකක වේ.
පික්සල් ity නත්වය ගණනය කිරීම අඟලකට ගැලපෙන පික්සෙල් ගණන පික්සල් ity නත්වය ලෙස හැඳින්වේ . ඉහළ dens නත්ව තිරවල අඩු dens නත්වයට වඩා අඟල් එකකට පික්සෙල් වැඩිය ....
Indens නත්වයේ ස්වාධීනත්වය යනු විවිධ ities නත්වයන් සහිත තිරවල UI මූලද්රව්ය ඒකාකාරව ප්රදර්ශනය කිරීමයි.
D නත්වය-ස්වාධීන පික්සෙල් , ඩීපී (උච්චාරණය කරන ලද “ ඩිප්ස් ”) ලෙස නම් කර ඇති නම්යශීලී ඒකක වන අතර එය ඕනෑම තිරයක ඒකාකාර මානයන් ඇති බව පරිමාණය කරයි. විවිධ U නත්වයන් සහිත තිරවල මූලද්රව්ය නිරන්තරයෙන් ප්රදර්ශනය කිරීම සඳහා ද්රව්ය UIs dens නත්ව-ස්වාධීන පික්සෙල් භාවිතා කරයි.
සම්පූර්ණ පා read ය කියවන්න https://material.io/design/layout/pixel-decity.html
පික්සෙල් (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/
මට තේරුම් ගැනීමට පහසු ක්රමයක් සැපයීමට අවශ්යයි 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
.