在 Android 上显示两个图标。如何将图标数量减少到一个

Display two icons on Android. How to reduce the number of icons to one

我正在使用 Xamarin 进行开发。 当我为 Android 创建闪屏时遇到了问题。 当我在真实设备上构建它时,phone 上显示两个图标。 当我卸载其中一个时,两个都被删除了。

这是什么意思? 我的设置有问题吗? 请让我知道如何解决它。 非常感谢你。 我采取的步骤如下

启动画面 启动画面将在 Android 中实现。 (1)为Droid添加SplashActivity。 (2) 将MainActivity的属性由MainTheme改为SplashTheme。

    [Activity(Label = "RG2022", 
        Icon = "@mipmap/icon",
        //Theme = "@style/MainTheme", //comment out
        Theme = "@style/SplashTheme", //change to this

(3)在创建时添加MainActivity

    Window.RequestFeature(Android.Views.WindowFeatures.ActionBar);
    SetTheme(Resource.Style.MainTheme);

(4)添加RG2022\RG2022\RG2022.Android\Resources\drawable\splash_screen.xml

<?xml version="1.0" encoding="UTF-8" ?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:shape="rectangle" >
      <solid android:color="#00000000" />
    </shape>
  </item>
    <item>
    <bitmap
        android:src="@drawable/splash"
        android:tileMode="disabled"
        android:gravity="center"/>
  </item>
</layer-list>

(5)添加RG2022\RG2022\RG2022.Android\Resources\values\styles.xml

  <style name="SplashTheme" parent ="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowBackground">@drawable/splash_screen</item>
    <item name="android:windowNoTitle">true</item>  
    <item name="android:windowFullscreen">true</item>  
    <item name="android:windowContentOverlay">@null</item>  
    <item name="android:windowActionBar">true</item>
  </style>

(6)在drowable处添加Splash.png AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.companyname.rg2022" android:installLocation="auto">
    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30" />
    <application android:icon="@mipmap/icon" android:theme="@style/MainTheme" android:label="RG2022"></application>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
</manifest>

https://github.com/misakikaoru/SG2022

您可以创建两个活动。一个是闪屏 activity 另一个是正常 activity.

启动画面活动:

public class SplashScreenActivity : Activity
{
    ImageView imageView;
    Animation view_animation;
    TextView textview;
    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);
        RequestWindowFeature(Android.Views.WindowFeatures.NoTitle);
        SetContentView (Resource.Layout.SplashScreen);
        imageView = (ImageView)FindViewById(Resource.Id.imageView);
        
        view_animation = AnimationUtils.LoadAnimation(this,Resource.Animation.hyperspace_jump);
         
        imageView.StartAnimation(view_animation);
        view_animation.AnimationEnd += Rotate_AnimationEnd;
        
    }

    private void Rotate_AnimationEnd(object sender, Animation.AnimationEndEventArgs e)
    {
        Finish();
        StartActivity(typeof(MainActivity));
    }
}

主要活动:

  protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        SetContentView(Resource.Layout.Main);
        Toast.MakeText(this, "Welcome to MainActivity", ToastLength.Long).Show();
    }

更详细的可以参考我之前做的贴子。