在图层列表中创建drawable do centerCrop

时间:2016-08-22 14:23:22

标签: android splash-screen image-resizing

所有

我想制作闪屏:

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

抽拉/ background_splash:

<?xml version="1.0" encoding="utf-8"?>

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

<item android:bottom="16dp">
    <bitmap
        android:gravity="center|fill_horizontal"
        android:src="@drawable/splash_logo"
        />
</item>

<item android:bottom="16dp">
    <bitmap
        android:gravity="bottom"
        android:src="@drawable/logo"/>
</item>

但是我无法用android创建位图:src =&#34; @ drawable / splash_logo&#34;在ImageView中调整为centerCrop缩放比例(我需要填充所有宽度的位图)现在它的大小与资源中的大小(以像素为单位)相同。如果我做得更大,屏幕会更大。我尝试过刻度可绘,没有意义。

你有什么建议吗?

2 个答案:

答案 0 :(得分:1)

将此行更改为

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

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

因为android:windowsBackground属性无法在全屏显示启动画面。这是你使用android:background for splash的好方法。然后,如果你想,你可以在你的Splash Activity中调用centercrop。希望这有帮助!!

答案 1 :(得分:0)

我能够实现全屏显示,但是请记住,在18:9屏幕上会有点拉伸

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@drawable/splash_2_x2"
        android:top="0dp"
        android:bottom="0dp"
        android:left="0dp"
        android:right="0dp"/>
</layer-list>