初始屏幕正在调整大小错误

初始屏幕正在调整大小错误

问题描述:

我正在使用下面的样式在我的Xamarin Android应用程序中显示初始屏幕,但图像始终显示的大小不正确。我希望它调整大小的正确尺寸,但它总是扩大到适合屏幕。初始屏幕正在调整大小错误

<?xml version="1.0" encoding="utf-8" ?> 
<resources> 
    <style name="Theme.Splash" parent="android:Theme"> 
    <item name="android:windowBackground">@drawable/splashscreenimage</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="android:adjustViewBounds">true</item> 
    <item name="android:scaleType">centerCrop</item> 
    </style> 
</resources> 

闪屏活动

[Activity(MainLauncher = true, Theme = "@style/Theme.Splash", NoHistory = true)] 
    public class SplashScreenActivity : Activity 
    { 
    protected override void OnCreate(Bundle bundle) 
    { 
     base.OnCreate(bundle); 

     // Start our real activity 
     StartActivity(typeof(LoginActivity)); 
    } 
    } 

一个问题是,windowBackground的大小为全屏大小,在设备顶部或底部包含状态栏。但状态栏仍然显示。我对Android Activity Background Image的回复使用了windowContentOverlay,它排除了状态栏。

当我遇到了麻烦,在我的应用程序正确地显示图像,我发现这个乐于助人的网站:Android scale types

它显示了不同类型规模的结果是您可以使用。希望这可以帮助!

+1

'ScaleType'仅适用于'ImageView',但问题与'windowBackground'有关。 – 2017-10-28 15:10:57

看看:

Android: Scale a Drawable or background image?

基本上,这允许您指定如何裁剪或拉伸的图像时,图像比屏幕的观看范围较小。我认为这个答案的作者给出了一个很好的解释,而且这可能是你正在寻找的东西。