در این مطلب در ادامه مقالات آموزشی بیسیک فور اندروید در خدمت شما هستیم با آموزش کار با پروگرس بار و سفارشی سازی آن در بیسیک فور اندروید از وب سایت آموزش برنامه نویسی سورس باران. در این آموزش میخواهیم یک نوار پیشرفت داشته باشیم که بر هر ده ثانیه یک بار به طور کامل لود شود و این عمل تکرار شود. به عبارت دیگر هر صد میلی ثانیه، این پروگرس بار یک درصد پیشرفت داشته باشد و عدد پیشرفت در لیبلی در زیر آن نمایش داده شود. با ما همراه باشید…
آموزش کار با پروگرس بار و سفارشی سازی آن در بیسیک فور اندروید
برای شروع کار یه پروژه تعریف می کنیم که در قالب آن بتوانیم کار با نوار پیشرفت یا همان پروگرس بار را در بیسیک فور اندروید یاد بگیریم و سپس متغیرهای لازم را تعریف می کنیم. دقت نمایید که متغیر تایمر باید در قسمت sub process global تعریف شود.
Sub Process_Globals Dim timer1 As Timer End Sub Sub Globals Dim progressbar1 As ProgressBar Dim a As Int Dim label1 As Label End Sub
در قسمت اکیتویتی ، لایوت را لود کرده و ویوها را initialize کرده و به اکتیویتی اضافه می کنیم.
Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("1") progressbar1.Initialize("progressbar1") Activity.AddView(progressbar1,0%x,10%y,100%x,10%y) label1.Initialize("") Activity.AddView(label1,10%x,23%y,80%x,10%y) label1.Gravity=Gravity.CENTER label1.TextSize=20 timer1.Initialize("timer1",100) timer1.Enabled=True Dim c1 As ColorDrawable Dim c2 As ColorDrawable c1.Initialize(Colors.Blue,5dip) c2.Initialize(Colors.Red,5dip) SetProgressDrawable2(progressbar1,c1,c2) End Sub
در مورد تابع setprogress drawable2 که در خط آخر استفاده شده است باید بگوییم که برای سفارشی کردن و رنگ بندی پروگرس بار استفاده می شود. در ورودی تابع سه متغیر وجود دارد. متغیر اول همان پروگرس باری است که می خواهیم رنگ آن را تغییر دهیم. متغیر دوم ، یک متغیر از نوع colordarwable است که برای تعیین رنگ نوار پیشرفت استفاده می شودکه در اینجا آبی است. متغیر سوم هم تعیین کننده رنگ پس زمینه نوار پیشرفت است که در اینجا قرمز انتخاب شده است. کدهای این تابع در زیر آمده است.
Sub SetProgressDrawable2(p As ProgressBar,gd As ColorDrawable,cd As ColorDrawable) Dim r As Reflector Dim clipDrawable As Object Dim r As Reflector Dim clipDrawable As Object clipDrawable = r.CreateObject2("android.graphics.drawable.ClipDrawable", _ Array As Object(gd, Gravity.LEFT, 1), _ Array As String("android.graphics.drawable.Drawable", "java.lang.int", "java.lang.int")) r.Target = p r.Target = r.RunMethod("getProgressDrawable") 'Gets the layerDrawable r.RunMethod4("setDrawableByLayerId", _ Array As Object(16908288, cd), _ Array As String("java.lang.int", "android.graphics.drawable.Drawable")) r.RunMethod4("setDrawableByLayerId", _ Array As Object(r.GetStaticField("android.R$id", "progress"), clipDrawable), _ Array As String("java.lang.int", "android.graphics.drawable.Drawable")) End Sub
و در انتها در قسمت تابع مربوط به دوره تایمر ( که روی ۱۰۰ میلی ثانیه تنظیم شده است) می گوییم که به ازای هر دوره تایمر یک واحد به متغیر a اضافه کند و سپس آن را مساوی با پیشرفت پروگرس بار و متن لیبل قرار دهد و در صورتی که به ۱۰۰ رسید، ریست شود.
Sub timer1_tick a=a+1 progressbar1.Progress=a label1.Text=a If a>=100 Then a=0 End If End Subدانلود سورس
مشاهده لیست جلسات قبل آموزش بیسیک فور اندروید
- آموزش بیسیک فور اندروید – دانلود تمامی ابزارهای مورد نیاز برنامه نویسی B4A
- آموزش بیسیک فور اندروید – آموزش گام به گام نصب و راه اندازی JDK
- آموزش کامل نصب Android SDK
- آموزش کامل نصب بیسیک فور اندروید+دانلود نرم افزار Basic4Android
- آموزش نصب و کار با شبیه ساز اندروید NOX
- آموزش کامل اجرا مستقیم برنامه روی گوشی با B4A Bridge
- آموزش بیسیک فور اندروید – معرفی Activity و Layout + تغییر تم محیط بیسیک فور اندروید
- آموزش و کاربرد دستور Try و Catch در بیسیک فور اندروید
- آموزش حذف انیمیشن پیشفرض لایوت ها در بیسیک فور اندروید
- آموزش استفاده از اینتنت های کافه بازار در بیسیک فور اندروید
- آموزش کار با فونت ها در بیسیک فور اندروید
The post آموزش کار با پروگرس بار و سفارشی سازی آن در بیسیک فور اندروید appeared first on آموزش برنامه نویسی.