در این مطلب در ادامه مقالات آموزشی بیسیک فور اندروید در خدمت شما هستیم با آموزش کار با پروگرس بار و سفارشی سازی آن در بیسیک فور اندروید از وب سایت آموزش برنامه نویسی سورس باران. در این آموزش میخواهیم یک نوار پیشرفت داشته باشیم که بر هر ده ثانیه یک بار به طور کامل لود شود و این عمل تکرار شود. به عبارت دیگر هر صد میلی ثانیه، این پروگرس بار یک درصد پیشرفت داشته باشد و عدد پیشرفت در لیبلی در زیر آن نمایش داده شود. با ما همراه باشید…
آموزش کار با پروگرس بار و سفارشی سازی آن در بیسیک فور اندروید
برای شروع کار یه پروژه تعریف می کنیم که در قالب آن بتوانیم کار با نوار پیشرفت یا همان پروگرس بار را در بیسیک فور اندروید یاد بگیریم و سپس متغیرهای لازم را تعریف می کنیم. دقت نمایید که متغیر تایمر باید در قسمت 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 در بیسیک فور اندروید
- آموزش حذف انیمیشن پیشفرض لایوت ها در بیسیک فور اندروید
- آموزش استفاده از اینتنت های کافه بازار در بیسیک فور اندروید
- آموزش کار با فونت ها در بیسیک فور اندروید
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- منبع : سورس باران
- رمز فايل : www.sourcebaran.com
- انتشار: ۱۲ اردیبهشت ۱۳۹۸
دسته بندی موضوعات
- آموزش برنامه نویسی
- آموزش کریپتو کارنسی (ارز دیجیتال)
- آموزش متنی برنامه نویسی
- پروژه برنامه نویسی
- فروشگاه
- فیلم های آموزشی
- #F
- ++C
- 3ds max
- Ada
- ADO.NET
- Adobe Flash
- Agile
- Ajax
- AngularJS
- Anime Studio
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- assembly
- AVR
- Azure
- Bootstrap
- Cassandra
- CCNA
- CCNP
- CCSP
- ChatGPT
- Cisco
- CMD
- COBOL
- CSS
- Cython
- Django
- Dreameaver
- Elixir
- EntityFramework
- Erlang
- Flash
- Go
- Groovy
- Haskell
- Htaccess
- HTML
- IOS
- Jade
- jquery
- Kendo UI
- Linq
- Linux
- LUA
- MariaDB
- maya
- Meteor
- MongoDB
- Mono Android
- MonoGame
- Mysql
- NoSQL
- Oracle
- Orchard
- Perl
- php
- PHPMyAdmin
- R
- Rational Rose
- Ruby
- Rust
- Scala
- Scrum Master
- SFML
- SharePoint
- SignalR
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- Vue 3
- WPF
- Xml
- آردوینو
- آموزش های پروژه محور
- آیونیک
- اتوکد
- الگوریتم تقریبی
- الگوریتم نویسی و فلوچارت
- امنیت
- اندروید
- اندروید استودیو
- انیمیشن سازی
- بازی سازی با Scratch
- بک ترک
- بیسیک فور اندروید
- پایتون
- پرولوگ
- پریمیر
- جاوا
- جاوا اسکریپت
- جنگو
- جوملا
- دارت
- دلفی
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- ساخت اتوران
- ساختمان داده ها
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کاتلین
- کامپایلرها
- کانستراکت
- کریستال ریپورت
- کلوژر
- گوگل آنالیتیکس
- گیت
- لاراول
- مای بی بی
- مایکروسافت پروجکت
- متریال دیزاین
- متلب
- معماری کامپیوتر
- مهندسی اینترنت
- میکروتیک
- نود جی اس
- نیوک
- هوش مصنوعی
- ویبولوتین
- ویژوال استودیو
- یونیتی
- کتاب های آموزشی
- Ada
- Ajax
- Android
- ASP.NET
- ASP.NET Core
- AVR
- clips
- CNC
- COBOL
- CQRS
- Cython
- Dreamweaver
- Elixir
- Entity Framework 4.0
- Erlang
- Go
- Groovy
- Haskell
- LINQ
- Lua
- Matlab
- MFC
- Node.js
- PERL
- php
- PLC
- Prolog
- React
- Rust
- Scala
- SFML
- SharePoint
- silver light
- VHDL
- VMware
- WinJS
- Workflow
- WPF
- XHTML
- Yii Framework
- اتوکد
- اچ تی ام ال
- اسمبلی
- اکتیو ایکس
- الگوریتم و فلوچارت
- انگولار
- اوبونتو
- اوراکل
- بازی سازی
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- بک ترک
- پاسکال
- پایان نامه
- پایتون
- پرولوگ
- جاوا
- جاوا اسکریپت
- جی کوئری
- حوملا
- داده کاوی
- دلفی
- رباتیک
- روبی
- زبان ماشین
- سئو
- ساختمان داده ها
- سایر کتاب ها
- سخت افزار
- سوئیفت
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- سیستم عامل
- سیستم های خبره
- شبکه و مجازی سازی
- شبیه سازی کامپیوتر
- طراحی الگوریتم
- فتوشاپ
- فریم ورک گتنا
- کاتلین
- کالی لینوکس
- کریستال ریپورت
- گزارش کارآموزی
- گوگل
- لیسپ
- متلب
- مقاله
- مهندسی نرم افزار
- نیوک
- هوش مصنوعی
- وب مستر
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس