کار با اسکرول ویو

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

اسکرول ویو وظیفش اینه که تمام ویو ها رو داخل خودش قرار میده و ما میتونیم درست مانند اینکه یک سایت رو از بالا تا پایین اسکرول میکنیم، توی برنامه خودمون این کار رو انجام بدیم

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

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

چند تا نکته

1- ویوها برای اضافه شدن به اسکرول ویو باید با کد ایجاد بشن

2- اسکرول ویو یه پنل داره که ویو ها به پنل اضافه میشن

3- اطاعات میتونن از آرایه، دیتابیس محلی و یا mysql وارد بشن

4- حتما باید با حلقه وارد بشن

5- میشه یه لایوت طراحی کرد بعد توی اسکرول ویو تکرارش کرد


شروع :

اول یه آرایه تعریف میکنیم که اطلاعا از آرایه خونده بشه.

آموزش برنامه نویسی اندروید

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

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

آموزش برنامه نویسی اندروید

ScrollView

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

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

قبلش هم یه پنل با کد میسازیم که به صورت مجازیه.

آموزش برنامه نویسی اندروید

میگیم پنل رو اضافه کن فاصله از چپ صفر از بالا هم صفر، عرضش کل صفحه رو بگیره و ارتفاعش هم 200 dip.

توی مرحلخ بعدی از پنل مجازیم میخوام بره و اون لایه ای رو که قرار بود تکرار بشه رو برام لود کنه

متن اون لیبلی هم که قبلا تعریف کرده بودیم رو هم برابر مقدار آرایه توی هر بار تکرار قرار میدم

آموزش برنامه نویسی اندروید

تا اینجا همه چی تمومه ولی چون فاصله تمام ویوهای قابل تکرار از بالا صفره همشون روی هم میوفتن بخاطر همین باید اون عدد صفر رو کاری کنیم که با حلقه بیشتر بشه. یه متغیر تعریف میکنم به اسم top و اون رو هر دفه با یه عدد مثل 240 جمع میکنم

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

کد ها :

آموزش برنامه نویسی اندروید

و در انتها خروجی به این شل میشه :

آموزش برنامه نویسی اندروید

میدونم حجم مطالب داره میره بالا. پس برید یکم استراحت کنید 5 دقیقه دیگه بیاید من همینجا هستم . . .


به دست آوردن دکمه کلیک شده

یه گزینه ای برای هر ویو وجود داره به اسم tag. شما میتونید توی تگ یه مقدار کوچیکی رو ذخیره کنید و بعدا ازش استفاده کنید.

من تگ Button رو با مقدار حلقه برابر میکنم و پایین تحویلش میگیرم.

آموزش برنامه نویسی اندروید

نکته دیگه اینکه باید آرایه ای رو که تعریف کردیم به قسمت Global انتقال بدیم که توی کل اکتیویتی قابل خوندن باشه. حالا میریم به رویداد کلیک button1 :

آموزش برنامه نویسی اندروید

اول یه باتن نماینده تعریف میکنیم که میشه نماینده button1. بعد بهش میگیم برابر شو با اونی که sender هست یا اونی که فرستنده هست یا همونی که روش کلیک شده.

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

مثلا من روی دکمه ای کلیک میکنم که متن داخلش android هستش و بعد در قالب یه پیام به من همون رو نشون میده.

آموزش برنامه نویسی اندروید