آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

کار با فایل dimens.xml

AzadGh  6 سال پیش  6 سال پیش
0 0

سلام میدونم که خیلی سوالم مبتدیه ولی من بلد نیستم با این فایل کار کنم ، اینکه چطوری برای تمام گوشی ها با سایز های متفاوت فایل dimens.xml بسازم ، تا تو اسکرین های مختلفت دچار مشکل نشم !

اگه میشه لطفا برام توضیح بدین 

ممنون

 برای این سوال 1 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
Reza  6 سال پیش
+2 0

 پاسخ صحیح

سلام یه روش برای ریسپانسیو شدن در تمام سایزها اینه که ابعاد همه چیز رو از dimen بخونی .
یعنی این فولدرها رو بسازی :

values-sw400dp
values-sw480dp
values-sw600dp
values-sw720dp

و آیتم ها رو توش بنویسی و سایز دلخواه بدی . یعنی هر چی سایز میره بالا ، value ها رو هم بزرگ تر بدی .

شما یک layout میسازین ، و ابعاد رو از dimens میدی . موقع اجرا خود اندروید بر حسب ابعاد صفحه نمایش میاد value  ها رو از فولدر متناسب میخونه .

مثلا در فولدر  values-sw400dp   فایل  dimens.xml  داری که محتواش اینه :

<resources>
<dimen name="grid_margin">10dip</dimen>
<dimen name="image_margin_top">10dp</dimen>
<dimen name="grid_radius">4dp</dimen>
<dimen name="text_padding">10dp</dimen>
<dimen name="text_size">14dp</dimen>
</resources>

همین فایل dimens.xml در فولدر values-sw480dp  میتونه این مقادیر باشه :

 
<resources>
<dimen name="grid_margin">12dip</dimen>
<dimen name="image_margin_top">12dp</dimen>
<dimen name="grid_radius">5dp</dimen>
<dimen name="text_padding">12dp</dimen>
<dimen name="text_size">16dp</dimen>
</resources>

البته فولدر بندی به این شکل یک روشه که میاد با sw کار میکنه . یعنی بر اساس smallest screen width کار میکنه . یعنی چه گوشی افقی باشه چه عمودی ، عرض کمتر گوشی ملاک قرار میگیره . میتونه بر اساس w باشه . که گوشی افقی باشه ، عرض هم تغییر میکنه . یعنی تو این حالت ارتفاع  واقعی گوشی میشه عرض گوشی تو این حالت که افقی شده . میتونه بر اساس h باشه که با ارتفاع کار میکنه .

میتونه بر اساس normal  و small و large باشه که این روش دیگه قدیمی شده


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .