2013-05-11 3 views
8

Я использую стиль ниже, чтобы показать заставку в приложении 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)); 
    } 
    } 

ответ

3

Одна из проблем заключается в том, что windowBackground имеет размер до полного размера экрана, включающий строку состояния сверху или снизу устройства. Но строка состояния все еще отображается. Мой ответ Android Activity Background Image использует windowContentOverlay, который исключает строку состояния.

-2

Когда у меня была проблема отображения изображений правильно в моем приложении я нашел этот сайт полезным: Android scale types

Он показывает результаты различных типов масштаба, вы можете использовать. Надеюсь это поможет!

+1

'ScaleType' работает только для' ImageView', но вопрос о 'windowBackground'. –

-1

Взгляните:

Android: Scale a Drawable or background image?

В основном, это позволяет определить, как обрезать или растянуть изображение, если изображение меньше видовых границ экрана. Я думаю, что автор этого ответа дает хорошее объяснение, и это может быть то, что вы ищете.

Смежные вопросы