نمایش تعدادی عکس، با استفاده از GridView ، در برنامه نویسی اندروید
در این مبحث قصد داریم که چگونگی نمایش تعدادی عکس با استفاده از GridView را شرح بدهیم. نتیجه به صورت زیر می باشد :
و با چرخاندن گوشی، خروجی به صورت زیر است (در حالت افقی) :
همچنین با اشاره کاربر بر روی هر یک از item های موجود در GridView ، یک پیام بر اساس شماره item به کاربر نمایش داده می شود (یک پیام کوتاه چند ثانیه ای با استفاده از روش Toast). این مورد را برای این منظور به پروژه اندروید افزوده ایم که متوجه شوید چگونه یک سری کد را تعیین کنید که بعد از اشاره کاربر بر روی هر item از GridView ، اجرا شوند :
فایل پروژه اندروید و همچنین فایل apk ساخته شده از آن را می توانید از انتهای مبحث دانلود نمایید.
کدهای این مبحث را قبلا در برنامه اندرویدی با نام ((کاریکاتور)) به کار برده بودم. در آن زمان یادم است که برای نمایش عکس ها با استفاده از GridView مشکل داشتم زیرا در گوشی های با صفحه نمایش های با اندازه مختلف، عکس ها بر روی یکدیگر قرار می گرفتند و یا به صورتی بودند که مد نظر من نبود. البته در آن زمان، می دانستم که باید چندین فایل xml برای صفحه نمایش های با اندازه مختلف (4 دسته) بسازم ( آموزش شماره 239 )، اما این مورد نیز کمکی نکرد، بنابراین از این روش استفاده نکردم و ترجیح دادم کدها را به گونه ای بنویسم که تنها یک فایل xml کافی باشد و بر اساس تنظیم پارامترهای مربوط به اندازه عنصرها، آن را به صورت مناسب برای تمامی صفحه های نمایش با اندازه های مختلف، در بیاورم. بنابراین ممکن است که کدهای استفاده شده برای GridView ، کمی با کدهای سایر سایت ها متفاوت باشد. اما به هر حال از هر کدی که استفاده می کنید، به نکته مهم زیر توجه کنید :
((GridView یکی از عناصری است که اگر کدهای آن را به درستی تعیین نکنید، به شدت به اندازه صفحه نمایش حساس می باشد و ممکن است که طراحی شما، برای برخی صفحه های نمایش با اندازه های مختلف، خراب شود. پس حتما GridView را در صفحه نمایش های با اندازه مختلف آزمایش کنید و نتیجه را ببینید)).
نام پروژه اندروید را برابر GridViewImage انتخاب کرده ایم (نام package برابر com.kelidestan.gridviewimage انتخاب شده است. نام Activity اصلی را برابر MainActivity.java انتخاب کرده ایم و فایل xml متناظر آن را هم برابر activity_main.xml قرار داده ایم) :
قبل از هر چیز، در پروژه اندروید، به 30 عدد عکس نیاز داریم که آنها را در پوشه drawable-hdpi کپی کرده ایم :
فایل activity_main.xml ، فایل xml متناظر برای Activity اصلی برنامه است (البته تنها یک Activity داریم) که ظاهر گرافیکی آن را تعیین می کند :
کدهای فایل activity_main.xml را به صورت زیر می نویسیم :