mobile banner

تفاوت dp و px در برنامه نویسی اندروید

تفاوت dp و px در برنامه نویسی اندروید
زهرا چگینی
10 دقیقه7034 نفر
1399-06-30
امروز می خوایم در این مقاله برای شما در مورد واحدهای اندازه گیری در برنامه نویسی اندروید صحبت کنیم.
می خواهیم بدانیم چه تعداد واحدهای اندازه گیری در اندروید وجود دارد. همینطور به بررسی تفاوت dp و px در برنامه نویسی اندروید بپردازیم.

مفهوم density و dpi

منظور از Density تعداد پیکسل هایی است که در یک اینچ از صفحه نمایش قرار می گیرند. هر چه تعداد پیکسل ها در هر اینچ بیشتر باشند رزولوشن صفحه بیشتر بوده و دستگاه از کیفیت نمایش بیشتری برخوردار خواهد بود. برای اندازه گیری میزان این چگالی از واحد dpi که مخفف Dots per inch میباشد، استفاده میشود.
در  density pixel مربوط به هر صفحه نمایش را میتوان بر اساس اندازه و resolution محاسبه کرد. سیستم عامل اندروید صفحه نمایش ها را بر اساس density pixel به شش دسته تقسیم میکند:
  • Low density (ldpi) — 120 dpi
  • Medium density (mdpi) — 160 dpi
  • High density (hdpi) — 240 dpi
  • Extra High density (xhdpi) — 320 dpi
  • Extra Extra High density (xxhdpi) — 480 dpi
  • Extra Extra Extra High density (xxxhdpi) — 640 dpi

 

آموزش اندروید

 

انواع واحدهای اندازه گیری در اندروید

در توسعه اپلیکیشن برای سیستم عامل اندروید، برای مشخص کردن عناصر روی صفحه مثل دکمه ها، فاصله ما بین عناصر روی صفحه از واحدهای اندازه گیری متفاوتی میتوان استفاده کرد. در برنامه نویسی اندروید چهار واحد اندازه گیری وجود دارد:
  1. dp (Device Independent Pixel​​​​

این واحد اندازه گیری هم به صورت dip و هم به صورت dp نوشته می شود. در حقیقت dip یک واحد پیکسلی مجازی است که بر اساس یک صفحه نمایش با رزولوشن 160 dpi طراحی شده است. به عبارت دیگر یک dip معادل با یک پیکسل در یک صفحه نمایش که دارای 160 نقطه در هر اینچ است می باشد. چنانچه کلیه عناصر در یک layout را در توسعه اندروید بر حسب dip تعیین کنیم، این اطمینان را خواهیم داشت که به طور مثال یک دکمه در دستگاه هایی با صفحه هایی با تراکم متفاوت به طور متناسب بزرگ یا کوچک خواهد شد.
  1. sp (Independent PixelScale)  

نحوه عملکرد واحد sp همانند dip است با این تفاوت که واحد اندازه گیری sp تنظیمات دستگاه اندرویدی را نیز برای نمایش متن ها، مد نظر قرار می دهد. به عنوان مثال فرض کنیم که فرد کهنسالی یک گوشی با سیستم عامل اندروید دارد و از آنجا که او دارای بینایی ضعیفی است و تنظیمات تلفن همراهش به نحوی است که تمامی کلمات را بزرگ تر از حد معمول نمایش می دهد. حال اگر ما اپلیکیشنی طراحی کنیم که از واحد اندازه گیری dip در UI آن استفاده شده باشد و اگر همان شخص این اپلیکیشن  را نصب کند به هیچ وجه قادر نخواهد بود تا اندازه فونت ها را بزرگ تر از آنچه ما تعریف کرده ایم تغییر دهد.
  1. pt (Point)

هر Point معادل ۰٫۰۱۳۸۳ اینچ و یا ۰٫۳۵۲۵ میلیمتر است. این واحد به dpi ربطی ندارد و در همه دستگاه ها هم اندازه میباشد.
  1. px (Pixel)

برابر باpixcel  واقعی روی صفحه نمایش میباشد..
نکته: در صورت استفاده از واحدهای dp و sp برای view ها اندازه آنها متناسب با دستگاه تنظیم میشود. اگر از pt استفاده کنیم اندازه هر viewدر همه دستگاهها برابر است و اگر از px استفاده کنیم اندازه ها بر اساس رزولوشن صفحه نمایش تنظیم میشود.

 

 تبدیل  dp به px

از آنجا که اندازه view ها و فاصله بین آنها در هر صفحه نمایش باید بر حسب پیکسل محاسبه شود و واحد اندازه گیری dp بر اساس یک صفحه نمایش با رزولوشن 160 dpi طراحی شده است. سیستم عامل اندروید برای محاسبه اندازه view ها و فاصله بین آنها بر حسب پیکسل در صفحه نمایش های مختلف از فرمول زیر استفاده می کند:

Actual Pixel= dp*(dpi /160 )

که dpi در آن یکی از مقادیر 120 ،160 ،240 ، 320 ،480 و یا 640 است. به عنوان مثال اگر شما مقدار width یک Button را 12dp قرار دهید اندازه width آن در یک صفحه نمایش با density معادل 240 dpi  برابر 18 پیکسل میباشد.

کلام آخر:

امیدواریم که از این مقاله نهایت استفاده را برده باشید و از آن در برنامه نویسی موبایل استفاده کنید.

 

Author Avatar
زهرا چگینیکارشناس علوم کامپیوتر گرایش نرم افزار...متخصص تولید محتوا و کارشناس سئو... هر نویسنده جهانی است، جهانی که درون یک نفر گیر افتاده است.مشاهده سایر نوشته های من ...

مقالات مرتبط

pug (پاگ) چیست و از آن چه میدانید؟

حتما اسم پاگ را شنیده اید اما در دنیای برنامه نویسی چه میکند؟ با ما همراه شوید تا هر آنچه که درباره pug چیست را میخواهید، برایتان ارائه دهیم. پیشنهاد میکنم این مطلب را از دست ندهید.

مرضیه فتاحی
2897

چگونه یک طراح وب موفق شوم؟

در این مطلب یاد خواهید گرفت که راه و رسم طراح وب حرفه ای چگونه می باشد.

فاطمه گلشنی پایدار
1996

سیستم مدیریت پایگاه داده یا DBMS چیست

با خواندن مطلب سیستم مدیریت پایگاه داده، می توانید با وظایف و نحوه عملکرد آنها آشنا شوید و بدانید که استفاده کردن از DBMS ها چه مزایا و معایبی دارد.

زهرا چگینی
7618

نظرات دانشجویان

3.0 از 5
(0 نظر)
3
0
0
0
2

هنوز اینجا کامنتی ثبت نشده