بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
ثابت نگه داشتن سایز در اینچ های مختلف
سلام دوستان گرامی. همگی خسته نباشید.
تویه ui برنامه م برای اینچ های مختلف به مشکل برخوردم طوری که وقتی یه متن تویه تکست ویو میزارم با سایز 20دیپ تویه گوشی 4 اینچ خیلی بزرگه و روی تبلت 10 خیلی ریز.
به نظرتون چیکار باید بکنم. این مشکل برای ست کردن عکس به شکل دایره هم وجود داره.
0
0
بهتره ابتدا density صفحه کاربر رو بگیرین و سپس اقدام به تنظیم سایز فونت کنین. مثلا اگه تراکم یک صفحه نمایش ۳۰۰ بود سایز فونت باشه ۲۰ . اگه تراکم صفحه ۵۰۰ بود سایز فونت بشه ۴۰. (10 سال پیش)
+1
0
نکته ای که هست اگر شما سایز تکست را در xml ست کرده باشید به صورت dp در تمامی صفحه نمایشها باید یک اندازه نشون بده چون سیستم با توجه به Density دستگاه سایز dp را به پیکسل برمیگردونه و سایز dp در تمامی دستگاهها یکسانه مگر اینکه شما به صورت Realtime میخواید سایز را عوضکنید. مثلا به صورت (txt.setTextSiez(50 که در این حالت شما عملا سایز پیکسلی تکست را عوض میکنید. پس مطمئنا سایز در هر دستگاهی متفاوت خواهد بود. (10 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
BrotherV
10 سال پیش
+3
0
اگر میخواید سایز تکست یا عکس را RealTime عوض کنید باید از متد DptoPixel استفاده کنید تا مقدار اندازه همواره در تمامی صفحه نمایشها یک اندازه نشون بده. لینک زیر تفاوت بین dp و sp و px را به خوبی بیان کرده.Difference-between-px-dp-dip-and-sp-in-android
int dp = 50;
int pixel = convertDpToPixel(dp, getApplicationContext());
.
.
.
public int convertDpToPixel(float dp, Context context){
Resources resources = context.getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
int px = (int)(dp * (metrics.densityDpi / 160f));
return px;
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .