2016-11-03 45 views
1

在我的SlashActivity中,我只使用AndroidManifeststyle,這裏建議https://www.bignerdranch.com/blog/splash-screens-the-right-way/如何在SplashActivity中使用centerCrop

而在SplashActivity我想用splash.jpg,但這個畫面改變屏幕尺寸。

我怎麼能在我的style文件中使用centerCrop還是有其他解決辦法?

我drawble:

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

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

<item> 
    <bitmap 
     android:gravity="center" 
     android:src="@drawable/splash" /> 
</item> 
</layer-list> 

AndroidManifest:

 <activity 
     android:name=".SplashActivity" 
     android:theme="@style/SplashTheme"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

SplashActivity:

public class SplashActivity extends AppCompatActivity { 

@Override 
protected void onCreate(@Nullable Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    Intent intent = new Intent(this, NavigationActivity.class); 
    startActivity(intent); 
    finish(); 
} 
} 

風格:

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar"> 
    <item name="android:windowBackground">@drawable/background_splash</item> 
</style> 
+0

如果你看到的例子,他用layerlist的繪製,一層爲背景另一層爲標誌中心裁剪 –

+0

@MohammedAtif我用這個也一樣,我更新了我的代碼 –

+0

然後在第二個項目的標籤,添加布局的高度和寬度來包裝內容和重心爲中心 –

回答

0

我也在創建我的Splash屏幕時關注了這個博客。通常,啓動畫面具有背景顏色和應用程序的徽標,您可以將其設置爲背景。所以,你不應該要求在Splash屏幕中對圖像進行中心處理。如果需要,我強烈建議使用任何編輯器編輯圖像,而不是通過編程來完成。

+0

你的意思是MIPMAP? –

+0

是的。該mipmap是您的應用程序的主要圖標。通常使用。 –

0

您可能要填充添加到您的開機畫面。

項目標籤裏面添加android:topandroid:bottomandroid:rightandroid:left

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

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

<item 
    android:top="200dp" 
    android:bottom="200dp" 
    android:left="200dp" 
    android:right="200dp"> 
    <bitmap 
     android:gravity="center" 
     android:src="@drawable/splash" /> 
</item> 
</layer-list> 
+0

我認爲這是不好的解決方案。 –

相關問題