آموزش برنامه نویسی اندروید (Android)
۴۱۹ آموزش
نمایش دسته بندی ها (۴۱۹ آموزش)

تعیین یک لایه گرافیکی متفاوت برای Activity ، هنگامی که گوشی در حالت افقی (landscape) قرار می گیرد، در برنامه نویسی اندروید

همان طور که می دانید کاربر می تواند در دو حالت عمودی (portrait) و افقی (landscape)، برنامه اندروید ساخته شده توسط شما را مشاهده نماید. اما ممکن است که شما بخواهید نحوه چینش عنصرهای لایه گرافیکی متناظر با Activity (یعنی فایل xml) را برای حالت افقی (landscape) تغییر بدهید. زیرا در حالت افقی (landscape)، ممکن است ظاهر خوشایندی نداشته باشند. برخی توسعه دهنگان، نحوه چیدمان در حالت افقی (landscape) را تنها با تغییر اندازه عناصر، تنظیم می کنند، اما برخی نیز، به طور کامل چیدمان عناصر را تغییر می دهند تا شکلی تازه و مناسبتر برای حالت افقی (landscape) داشته باشد.

تعیین یک لایه گرافیکی متفاوت برای Activity ، هنگامی که گوشی در حالت افقی (landscape) قرار می گیرد، در برنامه نویسی اندروید
گوشی در دو حالت عمودی (portrait) و افقی (landscape)

بنابراین در این مبحث، شرح می دهیم که چگونه می توان چیدمان عناصر لایه گرافیکی را برای حالت افقی (landscape)، متفاوت با حالت عمودی (portrait) قرار داد. بد نیست این نکته را هم یادآوری کنیم که شما می توانید تعیین کنید که برنامه اندروید، همیشه در حالت افقی (landscape) یا همیشه در حالت عمودی (portrait) باشد و یا این مسئله می تواند تنها برای تعدادی از Activity های برنامه اندروید، اجرا شود (در این مورد، آموزش شماره 221 را بخوانید). اما اگر قصد دارید که لایه های گرافیکی متفاوت برای این دو حالت تعیین کنید (و برنامه اندروید قرار است که در دو حالت نمایش داده شود)، ادامه این مبحث را بخوانید.

همان طور که می دانید، ما برای اینکه لایه گرافیکی یک Activity ، در گوشی های با ((اندازه صفحه نمایش متفاوت))، به طور یکسان نمایش داده شود، برای 4 دسته گوشی که بر اساس اندازه صفحه نمایش، در 4 دسته قرار گرفته اند، 4 پوشه می سازیم و در هر پوشه، یک فایل xml برای لایه گرافیکی Activity قرار می دهیم (نام همه فایل های xml یکسان است)(توضیحات کاملتر در این مورد را در آموزش شماره 239 بخوانید) :


res/layout/layout.xml  
res/layout-small/layout.xml  
res/layout-large/layout.xml  
res/layout-xlarge/layout.xml

این فایل های xml (هر کدام برای یک دسته)، هم در حالت عمودی (portrait) به کار می روند و هم در حالت افقی (landscape). اکنون اگر بخواهیم که ظاهر گرافیکی (فایل xml)این دو حالت، متفاوت باشند، 4 پوشه دیگر نیز می سازیم و اکنون 8 پوشه خواهیم داشت (نام پوشه ها باید حتما همین نام ها باشد) :


res/layout/layout.xml  
res/layout-small/layout.xml  
res/layout-large/layout.xml  
res/layout-xlarge/layout.xml  
res/layout-land/layout.xml  
res/layout-small-land/layout.xml  
res/layout-large-land/layout.xml  
res/layout-xlarge-land/layout.xml

4 پوشه جدید، دارای پسوند land می باشند که از ابتدای کلمه landscape گرفته شده است و بیان می کند که این پوشه ها، مربوط به حالت افقی (landscape) می باشند. بنابراین آن 4 پوشه هم که دارای پسوندی نیستند، تنها برای حالت عمودی (portrait) به کار خواهند رفت.

بنابراین برای لایه گرافیکی Activity ، در هر کدام از پوشه ها، یک فایل xml قرار می دهیم (مثلا ابتدا یکی ساخته و سپس آن را در بقیه کپی کنید). معمولا توسعه دهنده ها، ابتدا برای یک دسته (معمولا در پوشه layout که پیش فرض است)، یک فایل xml می سازند و تمامی عناصر آن را طراحی می کنند و عملکرد کدهای java مربوط به Activity را هم تست می کنند و در آخر که خیالشان از همه چیز راحت شد، فایل xml را در بقیه پوشه ها کپی کرده و سپس آنها را تک تک باز می کنند و از طریق برنامه eclipse که این امکان را می دهد که ظاهر گرافیکی فایل xml را ببینیم، نحوه چیدمان عنصرها را تنظیم می کنند.

نویسنده علیرضا گلمکانی
شماره کلید 2619
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)