Wednesday, October 28, 2026
HomeiOS Developmentios - I'm having points displaying a .gif animation within the splash...

ios – I’m having points displaying a .gif animation within the splash display screen for my android app utilizing xamarin.kinds?

[ad_1]

The above header refers.

The .gif animation (which is about 2 seconds) hardly shows in any respect within the splash display screen earlier than it will get to the login display screen.

That is my SplashLayout.xaml:

<?xml model="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"    
>

<com.felipecsl.gifimageview.library.GifImageView
    android:id="@+id/myGIFImage"
    android:layout_gravity="heart"
    android:scaleType="fitCenter"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
</LinearLayout>

That is my Splash_Activity.cs:

utilizing AbuseAlert.Droid;
utilizing Android.App;
utilizing Android.OS;
utilizing Felipecsl.GifImageViewLibrary;
utilizing System.IO;

namespace Abuse_Alert.Droid
{
    [Activity(Theme = "@style/Theme.Splash", MainLauncher = true, NoHistory = true, 
Label = "AbuseAlert")]

public class SplashActivity : Exercise
{        
    GifImageView myGIFImage;

    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);

        SetContentView(Useful resource.Format.SplashLayout);

        System.Threading.ThreadPool.QueueUserWorkItem(o => LoadActivity());
    }

    personal void LoadActivity()
    {
        //System.Threading.Thread.Sleep(2000); // Simulate a protracted pause
                                             // 
        RunOnUiThread(() => StartActivity(typeof(MainActivity)));
    }

    public override void OnWindowFocusChanged(bool hasFocus)
    {
        myGIFImage = FindViewById<GifImageView>(Useful resource.Id.myGIFImage);

        // From Drawable
        Stream enter = Sources.OpenRawResource(Useful resource.Drawable.AbuseAlert);

        // It is best to convert the "enter" into Byte Array 
        byte[] bytes = ConvertByteArray(enter);

        myGIFImage.SetBytes(bytes);
        myGIFImage.StartAnimation();
    }
    personal byte[] ConvertByteArray(Stream enter)
    {
        byte[] buffer = new byte[16 * 1024];
        utilizing MemoryStream ms = new MemoryStream();
        int learn;
        whereas ((learn = enter.Learn(buffer, 0, buffer.Size)) > 0)
            ms.Write(buffer, 0, learn);
        return ms.ToArray();
    }
}
}

That is my MainActivity.cs

utilizing System;
utilizing Android.App;
utilizing Android.Content material.PM;
utilizing Android.Runtime;
utilizing Android.OS;
utilizing AndroidX.Core.App;
utilizing AndroidX.Core.Content material;
utilizing MediaManager;
utilizing Android;
utilizing LibVLCSharp.Kinds.Shared;
utilizing Android.Content material;
utilizing System.Threading.Duties;
utilizing Xamarin.Kinds;
utilizing Android.Gms.Extensions;
utilizing Plugin.Toast;

[assembly: Dependency(typeof(FirebaseAuthenticator))]

namespace AbuseAlert.Droid
{

[Activity(Label = "AbuseAlert", Icon = "@drawable/icon", Theme = "@style/MainTheme", 
MainLauncher = false, ConfigurationChanges = ConfigChanges.ScreenSize | 
 ConfigChanges.Orientation)]

public class MainActivity : 
international::Xamarin.Kinds.Platform.Android.FormsAppCompatActivity
{
    public occasion EventHandler<ActivityResultEventArgs> ActivityResult = delegate { };
    protected override void OnCreate(Bundle savedInstanceState)
    {
        TabLayoutResource = Abuse_Alert.Droid.Useful resource.Format.Tabbar;
        ToolbarResource = Abuse_Alert.Droid.Useful resource.Format.Toolbar;

        base.OnCreate(savedInstanceState);
        
        CrossMediaManager.Present.Init(this);

        LibVLCSharpFormsRenderer.Init();

        Xamarin.Necessities.Platform.Init(this, savedInstanceState);
        international::Xamarin.Kinds.Kinds.Init(this, savedInstanceState);
        LoadApplication(new App());

        if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.RecordAudio) != Permission.Granted)
        {
            ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.RecordAudio }, 1);
        }

        FormsVideoPlayer.Init();
    }
    public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content material.PM.Permission[] grantResults)
    {
        Xamarin.Necessities.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);

        base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    }

    protected override void OnActivityResult(int requestCode, Consequence resultCode, Intent knowledge)
    {
        ActivityResult(this, new ActivityResultEventArgs
        {
            RequestCode = requestCode,
            ResultCode = resultCode,
            Information = knowledge
        });

    }

}

So, what’s inflicting my .gif file (AbuseAlert.gif) which is already within the sources/drawable folder to not render correctly?

[ad_2]

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments