MR.B4A 270 ارسال شده در 2 شهریور اشتراک گذاری ارسال شده در 2 شهریور این سورس را میخواهیم بسازیم: 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 لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.