MR.B4A 246 ارسال شده در دوشنبه در 21:19 اشتراک گذاری ارسال شده در دوشنبه در 21:19 این سورس را میخواهیم بسازیم: https://aparat.com/v/osgpkrg با استفاده از این سورس میتوانید یک افکت انیمیشنی بسیار زیبا به برنامه خود دهید. سورس #Region Project Attributes #ApplicationLabel: Animation Wave #VersionCode: 1 #VersionName: 1.00 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: unspecified #CanInstallToExternalStorage: False #End Region #Region Activity Attributes #FullScreen: true #IncludeTitle: false #Extends : androidx.appcompat.app.AppCompatActivity #End Region #MultiDex:true Sub Process_Globals End Sub Sub Globals Dim WaveView As AXWaveView Dim LineWaveView As AXLineWaveView Dim chk,chk2 As CheckBox Private Panel1 As Panel End Sub Sub Activity_Create(FirstTime As Boolean) Activity.Color = 0xFF1C2229 If File.Exists(File.DirInternal,"db.db")=False Then File.Copy(File.DirAssets,"db.db",File.DirInternal,"db.db") End If Dim Seekbar As ACSeekBar Seekbar.Initialize("Seekbar") Activity.AddView(Seekbar,16dip,16dip,100%x-32dip,32dip) WaveView.Initialize Dim Size As Int = 250dip Activity.AddView(WaveView,50%x - (Size/2), 50%y - (Size/2) , Size, Size) InitWaveView Dim MicImage As ImageView MicImage.Initialize("") Size = 64dip Activity.AddView(MicImage,50%x - (Size/2), 50%y - (Size/2) , Size, Size) Dim BD As BitmapDrawable BD.Initialize(LoadBitmap(File.DirAssets,"mic.png")) Dim AC As AppCompat AC.SetDrawableTint(BD,Colors.White) MicImage.Background = BD LineWaveView.Initialize Activity.AddView(LineWaveView,0,100%y-36dip,100%x,36dip) InitLineWaveView chk.Initialize("RedState") chk.TextColor = Colors.White chk.Checked = False Activity.AddView(chk , 16dip , Seekbar.Top + Seekbar.Height + 20dip , 140dip , 40dip) chk.Text = "Red State" chk2.Initialize("WaveEnabled") chk2.TextColor = Colors.White chk2.Checked = True Activity.AddView(chk2 , 16dip , chk.Top + chk.Height + 20dip , 140dip , 40dip) chk2.Text = "WaveEnabled" Panel1.Initialize("") Activity.AddView(Panel1,0,0,100%x,100%y) Panel1.Visible=False End Sub Private Sub activity_KeyPress (KeyCode As Int) As Boolean 'Return True to consume the event If KeyCode=KeyCodes.KEYCODE_BACK Then If Panel1.Visible=True Then Panel1.Visible=False End If Return True End If End Sub Private Sub RedState_CheckedChange(Checked As Boolean) If chk2.Checked = False Then chk2.Checked = True WaveView.PrepareToRemove(Checked) End Sub Private Sub WaveEnabled_CheckedChange(Checked As Boolean) WaveView.PrepareToRemoveWaveEnabled = Not(Checked) Dim st As AXWeavingState = WaveView.CurrentState st.SupportWaves = Checked WaveView.Invalidate End Sub Private Sub InitWaveView Dim State1 As AXWeavingState State1.Initialize3(1,WaveView.CreateRadialShader(200,0xff2BCEFF,0xff0976E3)) State1.Width = WaveView.Width + 20dip State1.Height = State1.Width WaveView.AddState(1,State1) Dim State2 As AXWeavingState State2.Initialize(2,WaveView.CreateRadialShader(200,0xff12B522,0xff00D6C1),"WaveState2") State2.Width = WaveView.Width + 20dip State2.Height = State2.Width WaveView.AddState(2,State2) WaveView.SetState(1) WaveView.CircleEnabled = True WaveView.Amplitude = -1 Dim Reflection As Reflector Reflection.Target = WaveView Reflection.SetOnClickListener("Wave_Click") WaveView.PrepareToRemoveColor = Colors.Red WaveView.PrepareToRemoveSize = 250dip WaveView.PrepareToRemoveAngle = 45.0f WaveView.PrepareToRemoveShader = WaveView.CreateLinearShader(350dip,0xFFD54141, 0xFFF76E7E,Colors.Transparent) WaveView.PrepareToRemoveWaveEnabled = False End Sub Private Sub WaveState2_UpdateTargets (State As AXWeavingState) State.TargetX = 0.2f + 0.1f * Rnd(1,100) / 100 State.TargetY = 0.7f + 0.1f * Rnd(1,100) / 100 End Sub Private Sub Wave_Click (Tag As Object) Dim State As AXWeavingState = WaveView.CurrentState If State.State = 1 Then WaveView.SetState(2) LineWaveView.SetState(2) SetNavigationBarColor(0xff00D6C1) Else WaveView.SetState(1) LineWaveView.SetState(1) SetNavigationBarColor(0xff0976E3) End If End Sub Private Sub Seekbar_ValueChanged (Value As Int, UserChanged As Boolean) WaveView.Amplitude = Value * WaveView.MAX_AMPLITUDE / 100 LineWaveView.Amplitude = Value * LineWaveView.MAX_AMPLITUDE / 100 End Sub Private Sub InitLineWaveView Dim State1 As AXLineWeavingState State1.Initialize3(1,WaveView.CreateRadialShader(200,0xff0976E3,0xff0976E3)) LineWaveView.AddState(1,State1) Dim State2 As AXLineWeavingState State2.Initialize3(2,WaveView.CreateRadialShader(200,0xff00D6C1,0xff00D6C1)) LineWaveView.AddState(2,State2) LineWaveView.SetState(1) SetNavigationBarColor(0xff0976E3) LineWaveView.MaxAlpha = 120 LineWaveView.MainWaveEnabled = False End Sub Sub Activity_Resume End Sub Sub Activity_Pause (UserClosed As Boolean) End Sub Public Sub SetNavigationBarColor (NewColor As Int) Dim sdk As Phone If sdk.SdkVersion >= 21 Then Dim j1 As JavaObject j1.InitializeContext j1.RunMethodJO("getWindow",Null) _ .RunMethod("setNavigationBarColor",Array (NewColor)) End If End Sub تهیه و تنظیم مرتضی صباغی MR.B4A لینک کانال ایتا: https://eitaa.com/basic4androidlan لینک کانال تلگرام: https://t.me/programmingwithb4a 1 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: strong> مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.