آموزش اندروید-صفحه نمایش مختلف
آن چه در این آموزش فرا می گیرید:
مواردی که باید مطالعه کرده باشید:
-
ایجاد منبع
- راهنمای طراحی آیکن
آموزش اندروید - پشتیبانی از صفحات نمایش متفاوت
اندروید صفحات نمایش را بر اساس دو ویژگی کلی طبقه بندی می کند: اندازه و تراکم (Density). برنامه ی اندروید شما باید هم روی دستگاه های مختلف با صفحات نمایش مختلف و هم روی دستگاه هایی مختلف با تراکم صفحه نمایش متفاوت طراحی شده باشد. به همین دلیل، می بایست منابع متعددی را در برنامه ی اندرویدی خود اضافه کنید تا ظاهر برنامه اندرویدی را برای صفحات نمایش با اندازه و تراکم متفاوت بهینه نمایید.
- به طور کلی چهار اندازه برای صفحات نمایش وجود دارد: کوچک (small)، عادی (normal)، بزرگ (large)، و خیلی بزرگ (xlarge)
- و چهار اندازه ی کلی نیز برای تراکم وجود دارد: کم (low یا ldpi)، متوسط (medium یا mdpi)، بالا (high یا hdpi) بسیار بالا (extra high یا xdpi)
برای تعریف چیدمان و bitmapهای مختلف برای صفحات نمایش مختلف، می بایست منابع مختلف را در دایرکتوری های جداگانه قرار دهیم، دقیقاً شبیه به کاری که برای زبان های مختلف انجام دادیم.
همچنین دقت داشته باشید وقتی صفحه نمایش را می چرخانیم ابعاد صفحه ی نمایش برعکس می شود، بنابراین می بایست برای افقی یا عمودی بودن صفحه ی نمایش چیدمان های جداگانه ای تعریف کنیم تا کاربر با چرخش دستگاه خود، احساس بدی نسبت به برنامه پیدا نکند.
ایجاد چیدمان های متفاوت
اگر می خواهید کاربران دستگاه هایی با صفحات نمایش متفاوت با برنامه ی شما راحت باشند، نیاز است تا به ازای ابعاد مختلف صفحه نمایش مختلف، یک فایل چیدمان XML مجزا و منحصر به فرد ایجاد کنید. هر یک از این چیدمان ها می بایست در دایرکتوری منبع مناسب ذخیره شود. قبل از نام این دایرکتوری ها باید پسوند <screen_size> بیاید. مثلاً چیدمان مربوط به ابعاد بزرگ بایستی در دایرکتوری /res/layout-large ذخیره شود.
توجه: برای اینکه چیدمان شما به صورت دقیق و مناسب در صفحه نمایش جایگذاری شود، اندروید به صورت اتوماتیک چیدمان را مقیاس بندی می کند. بنابراین، نگران این نباشید که چیدمان شما باید دقیقاً هم اندازه ی با ابعاد دستگاه باشد، اما به جای آن روی ساختار چیدمان که بر رضایت کاربر تأثیر گذار است متمرکزشوید. |
به عنوان مثال، فولدرهای پروژه ی زیر حاوی یک چیدمان پش فرض و یک چیدمان نیز برای صفحات نمایش با ابعاد بزرگ است:
افزودن چیدمان برای ابعاد بزرگ
MyProject/ res/ layout/ main.xml layout-large/ main.xml
نام فایل ها باید دقیقاً مشابه باشند، اما محتوای آن ها متفاوت هستند تا واسط گرافیکی مناسب را برای صفحات نمایش متفاوت فراهم کنند.
ارجاع به فایل چیدمان برنامه خیلی ساده و مثل قبل است ، مانند آنچه در زیر آمده است:
ارچاع به فایل چیدمان
@Override
protectedvoid onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
زمانی که برنامه ی شما اجرا شد، سیستم اندروید فایل چیدمان را از دایرکتوری متناسب با سایز صفحه نمایش بارگذاری می کند.
به عنوان یک مثال دیگر، در زیر پروژه ای آ»ده است که دارای چیدمان برای نمای افقی (landscape) وجود دارد:
چیدمان مربوط به نمای افقی
MyProject/ res/ layout/ main.xml layout-land/ main.xml
به طور پیش فرض فایل layout/main.xml برای نمای عمودی (portrait) استفاده می شود.
اگر می خواهید چیدمان خاصی برای نمای افقی صفحات نمایش بزرگ ایجاد کنید، می بایست هم پسوند large و هم پسوند land را اضافه نمایید:
افزودن نمای افقی به صفحات نمایش بزرگ
MyProject/ res/ layout/ # default (portrait) main.xml layout-land/ # landscape main.xml layout-large/ # large (portrait) main.xml layout-large-land/ # large landscape main.xml
توجه: اندرویدهای 3.2 و بالاتر، متدهای پیشرفته ای برای تعریف منابع صفحات نمایش دارند. این متد ها بر اساس کمترین طول و عرض با در نظر گرفتن پیکسل های مجزا از تراکم می باشد. |
ایجاد Bitmapهای متفاوت
شما می بایست همواره منابع bitmap مختلفی فراهم کنید که به هریک از تراکم های عمومی (پایین، متوسط، بالا و بسیار بالا) به صورت متناسب مقیاس پذیر باشند. این امر باعث می شود شما به کیفیت خوب گرافیکی و عملکرد بالا روی تراکم های مختلف صفحه نمایش دست پیدا کنید.
برای ایجاد چنین تصاویری، از منابع خام خود در فرمت وکتور (بردار) شروع کنید و تصاویری را برای هر تراکم با استفاده از مقیاس های زیر ایجاد کنید
- xhdpi: 2.0
- hdpi: 1.5
- mdpi: 1.0 (پایه)
- ldpi: 0.75
این بدین معناست که اگر تصویری 200x200 برای دستگاه های xhdpi ایجاد کردید، می بایست برای دستگاه های hdpi منبعی مشابه با ابعاد 150x150، برای دستگاه های mdpi منبعی مشابه با ابعاد 100x100 و برای دستگاه های ldpi منبعی مشابه با ابعاد 75x75 ایجاد کنید
سپس فایل ها را در دایرکتوری های منبع قابل ترسیم به صورت متناسب قرار دهید:
قرارگیری فایل های منبع تصویر
MyProject/ res/ drawable-xhdpi/ awesomeimage.png drawable-hdpi/ awesomeimage.png drawable-mdpi/ awesomeimage.png drawable-ldpi/ awesomeimage.png
هرگاه که به drawable/awesomeimage@ ارجاع دهید، سیستم اندروید تصویر مناسب را بر اساس تراکم صفحه نمایش انتخاب می کند.
توجه: منابع کم تراکم (ldpi) همیشه ضروری نیستند. هنگامی که منابع مربوط به hdpi فراهم می کنید، سیستم مقیاس تصویر را نصف می کند و برای صفحات نمایش ldpi آن را آماده می کند. |
- نوشته شده توسط مظاهر نصوحی
- بازدید: 10289