تفاوت بین واحد sp و واحد dp ، برای اندازه فونت متن ها، در برنامه نویسی اندروید

واحدهای sp و dp برای تعیین اندازه فونت متن ها یا اندازه طول و عرض ویجت ها، در برنامه نویسی اندروید، به کار می روند. مثلا به دو صورت زیر :

android:textSize=”20sp”
android:layout_height=”44sp”
یا
android:textSize=”20dp”
android:layout_height=”44dp”

هر دو واحد sp و dp ، بر اساس اندازه صفحه نمایش (physical density of the screen) گوشی کاربر، تنظیم می شوند، اما این دو واحد، با یکدیگر، یک تفاوت مهم دارند و آن این است که واحد sp ، علاوه بر وابستگی به اندازه صفحه نمایش (physical density of the screen) گوشی کاربر، به تنظیمات تعیین شده توسط کاربر در گوشی وی نیز وابسته می باشد. همان طور که می دانید، کاربران می توانند در گوشی اندروید خود، تنظیماتی را در مورد اندازه فونت متن ها، تغییر بدهند. اگر شما واحد dp را برای اندازه فونت ها انتخاب کرده باشید، این تنظیمات، در نمایش متن ها در برنامه شما، بی اثر خواهد بود، اما اگر واحد sp را انتخاب کرده باشید، این تنظیمات، بر روی اندازه نمایش فونت متن ها در برنامه شما، تاثیر خواهند داشت.

معمولا توصیه می شود که برای تعیین اندازه فونت متن ها، از واحد sp استفاده کنیم، زیرا بسیاری از افراد، دارای سلایق شخصی برای نمایش اندازه فونت ها می باشند یا مثلا خیلی از افراد، به دلیل مشکل بینایی، تنها متن های دارای فونت خیلی بزرگ را می توانند بخوانند. بنابراین مجبور کردن کاربران به خواندن متن ها، در یک اندازه مشخص، می تواند برای آنها آزاردهنده باشد و بنابراین، واحد sp ، انتخاب مناسب تری می باشد.
توصیه کلی برنامه نویسان اندروید این است که برای هر بخشی از برنامه، به جز اندازه فونت متن ها، از واحد dp استفاده کنیم و تنها برای تعیین اندازه فونت متن ها، واحد sp را به کار ببریم.
dp دارای نام دیگر dip و مخفف Density-independent Pixels است و sp مخفف Scale-independent Pixels می باشد.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *