ورود

View Full Version : پشتیبانی از سایز های مختلف صفحه نمایش



mahmood.m
پنج شنبه 20 مهر 1396, 10:18 صبح
با سلام دوستان



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

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

لطفا هر کی تجربه ای داره و واقعا نیتش راهنمایی و کمک کردنه پس درست و حسابی توضیح بده تا بیشترین و مفیدترین استفاده را ببریم و بتونیم برنامه هایی پیاده سازی کنیم که هیچ مشکلی در گوشی های با صفحه نمایش کوچیک متوسط بزرگ نداشته باشه و به درستی اجرا بشه و کاربر احساس رضایت و راحتی داشته باشه.


پیشاپیش ممنون

hharddy
پنج شنبه 20 مهر 1396, 12:10 عصر
میتونید هر صفحه خودتون و برای سایز های مختلف بسازید بعنی شاید مجبور باشید یک لایه xml اکتیویتی و چند بار بسازید برای سایز های مختلف برای مثال یک لایه به اسم layout دارید باید سایز های مختلف این لایه و بسازید به این صورت layout-small , layout-large , layout-xlarge و هر کدوم از این هارو بر اساس سایز صفحات ویو هارو اندازه بدید.
برای تصاویر سایز های مختلف عکستون و داخل پوشه های drawble ایی که دارید بذارید.

میتونید از constraintlayout استفاده کنید و بجای مقدار دهی بصورت dp از درصد استفاده کنید. مثلا دکمه ای 50درصد عرض صفحه و بگیره.
اگر از Relative استفاده میکنید از دستورات below,above برای چینش ویو ها استفاده کنید و....

mahmood.m
پنج شنبه 20 مهر 1396, 19:16 عصر
با سلام

خیلی ممنون از جوابت.
برای لایه ها پوشه های مربوطه رو ساختم و لایه هارو کپی کردم داخل هر کدوم از این پوشه ها و برای ویو هام که ImageView - Button - EditText و ... هست برای هر لایه در پوشه خاص خودش عرض و طول دادم و حالا سوال دیگری که برام پیش اومده اینه که اگه به ImageView که عکس مورد نظرم داخلش قرار گرفته عرض و طول بدم برای گوشی های کوچیک کیفیتش خوب نشون داده میشه ولی فکر کنم برای گوشی های بزرگ کیفیتش بیاد پایین و یا بیام عرض و طولشو روی wrap_content بزارم و عکس مورد نظرم رو داخل پوشه های drawable-hdpi - drawable-ldpi - drawable-large - drawable-xlarge با عرض و طول مشخص برای هر پوشه قرار بدم تا برای هر صفحه نمایشی بیاد عکس متناسب با اون رو از داخل یکی از این پوشه ها بخونه و نمایش بده آیا این کار درسته؟و یا اینکه همون عرض و طول به ImageView بدم کفایت میکنه؟

کدوم روش منطقی تره موندم چیکار کنم لطفا راهنمایی کنید.
پیشاپیش ممنون

hharddy
جمعه 21 مهر 1396, 01:08 صبح
عکستون باید کیفیت خوبی داشته باشه تا روی صفحات بزرگ مشکل ایجاد نشه , تصویر و با سایز های مختلفی داخل پروژه سیو کنید بهتره

mahmood.m
جمعه 21 مهر 1396, 09:20 صبح
با سلام

خیلی ممنون از جوابت.
فعلا که به نتیجه رسیدم دوستان دیگر هم اگر در این خصوص دانشی دارن بیان کنن.

iman0111
یک شنبه 22 بهمن 1396, 09:08 صبح
سلام اینکه چنتا پوشه بسازی و عکس های مختلف رو توش قرار بدی شاید باعث بشه حجم برنامت بره بالا و زیاد جالب نباشه شاید بتونی از displaymetrix استفاده کنی و بر حسب اندازه صفحه نمایش طول و عرض آبجکتاتو مشخص کنی اگه اینطوری بشه بهتره از یه لحاظ در مورد displaymetrix تحقیق کن