آموزش ساخت لیست با دکمه ( button ) در B4a

بیسیک فور اندروید
1.1K
0

سلام

این آموزش رو به درخواست یکی از دوستان که تو بخش پرسش و پاسخ سوال پرسیده بود ساختم

لینک صفحه سوال

خوب  تو این آموزش ما میخوای به جای استفاده از لیست ویو  پیش فرض بیسیک ۴ اندروید   ، خودمون یه لیست با button بسازیم
چون لیست ویو پیش فرض خود اندروید  بیشتر امکانات لازم رو نداره و گاهی وقت ها به درد نمیخوره !

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

listbvutton

همینطور که در عکس میبینید  ما   یه لیست داریم  که هر دکمه ی لیست  یه متن نشان میده با یه زمان  ریزش و سمت راستش هم یه دکمه برا افزودن به علاقه مندی هاست   سمت چپی هم نمیدونم چیشه 😐

 

براش شروع  اول ما باید یه لیست ویوو بسازیم

برای این کار کد زیر رو به برنامه اضافه میکنیم

خوب حالا باید یه متغییر از نوع int بسازیم  تا اخرین Y  که اونجا دکمه ساخته شده رو ذخیره کنید
علت این کار اینه که ما نمیخوایم به صورت دستی همه دکمه ها رو بسازیم و به جاش از حلقه for استفاده میکنیم
و باید یه کدی بنویسیم که ارتفاع دکمه ها رو به صورت خودکار بگیره

کد زیر رو به برنامه اضافه کنید

 

خوب حالا باید یه حلقه For بسازیم و دکمه ها رو به اسکرول ویو اضافه کنیم

تمام کد هایی که تا الان نوشتیم

 

توضیحات :

اول کد ( خط ۵ تا ۷ )  ما امدیم یه اسکرول ویو ساختیم و  اونو به صفحه اصلی برنامه اضافه کردیم

بعد تو خط بعد امدیم یه متغییر برا ذخیره مکان قرار گیری دکمه ها ساختیم

 

بعد تو خط ۱۱ تا ۲۳  امدیم یه حلقه For  ساختیم که ۱۰ بار تکرار میشه و هر دفعه یک دکمه میسازه

بعد اونو Initialize کردیم به اسم item ( شاید براتون سوال پیش بیاد حالا که همه با یک اسم  Initialize شدن  چجوری بفهمیم رو کدوم دکمه کلیک شده  جواب : بهتون بعدا یاد میدم 😐 )

بعد امدیم به هر دکمه یه برچسب دادیم و برچسب رو برابر با شماره دکمه قرار دادیم (میتونستیم هر چیزی بزاریم )

بعد یه متن دادیم  تو خط بعدی هم گفتیم متن رو وسط نشان بده   میتونستید بزارید از سمت راست نشان بده

تو خط ۱۹ امدیم دکمه رو به اسکرول ویو اضافه کردیم و ارتفاع اونو برا بر با  ۵۰ Dip قرار دادیم  که کاملا دلبخواهیه این عدد ! اما نکته مهمش اینجایه که به جای top  ما متغییر h رو قرار دادیم و گفتیم به نقطه ای که h میگه دکمه رو اضافه کن و اگه دقت کنید  h رو برابر با  ۱۰ گزاشته بودیم

 

تو خط ۲۱ گفتیم به متغییر h   ارتفاع دکمه رو اضافه کن بعد بهش ۵dip اضافه کن

تو کد بالا ما میتونستیم  خیلی راحت بگیم به متغییر  h  به مقدار ۶۵dip اضافه کن اما این کارو نکردیم وگفتیم به اندازه ارتفاع  دکمه اضافه کن علتشم اینه که شاید همه دکمه های شما به یک اندازه نباشند

شاید از آموزش زیر استفاده کرده باشید و ارتفاع دکمه رو برابر با طول متن قرار داده باشید  اینجوری ممکنه هر دکمه یه ارتفاع داشته باشه

[button color=”” size=”normal” type=”3d” target=”” link=”http://dev-iran.ir/%D8%AA%D9%86%D8%B8%DB%8C%D9%85-%D8%A7%D8%B1%D8%AA%D9%81%D8%A7%D8%B9-lable-%D9%84%DB%8C%D8%A8%D9%84-%D8%A8%D8%B1-%D8%AD%D8%B3%D8%AA-%D8%B7%D9%88%D9%84-%D9%85%D8%AA%D9%86/”]تنظیم ارتفاع Lable بر حسب طول متن با استفاده از کتابخانه StringUtils در B4a[/button]

بعدش هم گفتیم ۵dip اضافه کنه  چون در این اموزش ما نمیخوایم دکمه ها چسبیده به هم باشند و میخوایم بینشون یه فاصله ای باشه

حالا برنامه رو اجرا کنید میبینید  خیلی راحت دکمه ها اضافه میشند و هیچ مشکلی نداره

شاید بعضی از دوستان تا همینجای آموزش براشن کافی باشه و به بقیه آموزش نیازی نداشته باشند برا همین همینجا یاد میدیم چجوری بفهمیم رو دکمه کلیک شده  تا اونایی که مخیواند برند  اونایی هم که نمیخواند  بمونند شام در خدمتیم 😐

خوب برای فهمیدن  کلیک شدن باید این ساب رو به برنامه اضافه کنیم

 

خوب حالا اگه برنامه رو اجرا کنید میبینید  رو هر دکمه ای که کلیک کنید

متن click رو نشان میده اما ما نمیخوایم اینجوری باشه و میخوایم دقیقا بفهمیم رو کدوم دکمه کلیک شده

برای این کار مینویسیم

 

اول ما امدیم یه view از نوع button به اسم  item ساختیم

بعد گفتیم این دکمه برابر باشه با Sender
کد Sender اون view  که باعث اجرای sub شده رو بر میگردونه
مثلا اگه کلیک رو دکمه دوم باعث اجرای این ساب شده   متغییر Sender به ما ای دی  دکمه دوم رو بر میگردونه

خوب حالا میتونیم به راحتی از رو tag یا متن دکمه  بفهمیم رو چه دکمه ای کلیک شده

مثلا تو گد بالا ما گفتیم اگه Tag برابر با  ۱ بود ( اولین دکمه ) متن number 1 رو نشان بده  و اگه نبود  شماره اون دکمه یا همون tag رو نشان بده

مثلا میتونستید بنویسید اگه tag برابر با متن  ” خروج از برنامه ” بود    کد خارج شدن اجرا بشه

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

این نوع ساخت لیست   موقع کار با دیبتابیس  خیلی بدرد میخوره

نظر یادتون نره !

 

 

مطالب وب سایت Dev-Iran :

کپی و رایت مطلب به تیم Dev-Iran.ir باز میگردد که در حال حاضر صاحب امتیاز این وب سایت گروه اوکسو می باشد.

کپی و رایت مطالب اوکسو :

قابل توجه علاقه مندان و کپی کنندگان گرامی ، تمامی مطالب این وب سایت تحت مجوز خالق (Creative Commons) می باشد و اجازه کپی کردن ، استفاده تجاری مطالب بدون اجازه صاحب اثر مجاز نمی باشد و طبق مجوز اثر پیگرد قانونی به همراه خواهد داشت.

مجوز کریتیو کامنز
این کار مجوز دارد تحت مجوز کریتیو کامنز نسبت‌دادن-غیرتجاری-بدون انشقاق ۴٫۰ بین‌المللی.

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

تالار گفتمان اوکسوف

همچنین میتوانید ما را در شبکه های اجتماعی نیز دنبال کنید و از جدید ترین اخبار ما با خبر شوید :

اینستاگرام

تلگرام
آپارات

نظرات وب سایت

  1. ASofts
    پاسخ دادن

    این آموزش خیلی مهمه واقعا ممنون، لطفا در قسمت دوم هم حتما در مورد تغییر رنگ لیبل هر خانه از لیست بعد از کلیک شدن ایتم هم بگید
    و مثلا اگه یه خانه لیبلش ابی شده بود اگه یکی دیگه رو زدیم اون یکی ابی بشه و قبلی برگرده رنگش به پیشفرض مثله عکس دوم.
    راستی تو عکس دوم هم عکسه چپی به حساب عکس موسیقیه!

ارسال یک نظر .