Xamarin.Forms如何使居中的SplashScreen适合在屏幕上

问题描述 投票:0回答:1

我需要做类似Image AspectFit的事情。我试过了:

background_splash.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

  <item
      android:drawable="@color/colorPrimaryDark"/>

  <item>
    <bitmap
        android:gravity="center"
        android:src="@drawable/code_logo"/>
  </item>

</layer-list>

styles.xml

  <style name="splashscreen" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowBackground">@drawable/background_splash</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsTranslucent">false</item>
    <item name="android:windowIsFloating">false</item>
    <item name="android:backgroundDimEnabled">true</item>
    <item name="android:windowFullscreen">true</item>
  </style>

正在显示初始屏幕,但是水平图像比屏幕大,并且不合适。也许是因为我的图像徽标是3500 x 1360?我只需要适合屏幕。有什么主意吗?

xamarin.forms xamarin.android xamarin.ios
1个回答
0
投票

您的图像徽标太大,可以像以下代码一样为widthHeight设置itembitmap

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

  <item
      android:drawable="@color/colorPrimaryDark"/>

  <item   android:width="200dp"
        android:height="100dp"
        android:gravity="center"> 
    <bitmap
         android:gravity="fill"
         android:mipMap="true"
         android:src="@drawable/code_logo"/>
  </item>

</layer-list>

这里正在运行屏幕截图。

enter image description here

我的测试代码徽标是3500 x 1360,由于宽度太大,模拟器有时会崩溃。请按宽度和高度的比例减小徽标的尺寸,然后像上面的代码一样设置with或height。enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.