2013-05-11 4 views
8

Sto usando lo stile qui sotto per mostrare una schermata iniziale nella mia applicazione Xamarin per Android, tuttavia l'immagine mostra sempre con il dimensionamento errato. Mi piacerebbe che ridimensionasse con le dimensioni corrette ma si espande sempre per adattarsi allo schermo.La schermata iniziale si sta ridimensionando in modo errato

<?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> 

L'attività splash screen

[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)); 
    } 
    } 

risposta

3

Un problema è che windowBackground è dimensionato a schermo intero, inclding barra di stato nella parte superiore o inferiore del dispositivo. Ma la barra di stato è ancora mostrata. La mia risposta a Android Activity Background Image utilizza windowContentOverlay, che esclude la barra di stato.

-2

Quando ho avuto problemi la visualizzazione delle immagini in modo corretto nella mia app ho trovato questo sito utile: Android scale types

mostra l'esito dei diversi tipi di scala che Puoi usare. Spero che questo ti aiuti!

+1

'ScaleType' funziona solo per' ImageView', ma la domanda riguarda 'windowBackground'. –

-1

Date un'occhiata a:

Android: Scale a Drawable or background image?

Fondamentalmente, questo consente di specificare come clip di allungare o un'immagine quando l'immagine è più piccola la vista limiti dello schermo. Penso che l'autore di questa risposta dia una buona spiegazione, e potrebbe essere quello che stai cercando.