我需要做类似Image AspectFit的事情。我试过了:
background_splash.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/colorPrimaryDark"/>
<item>
<bitmap
android:gravity="center"
android:src="@drawable/code_logo"/>
</item>
</layer-list>
styles.xml
<style name="splashscreen" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/background_splash</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowIsFloating">false</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:windowFullscreen">true</item>
</style>
正在显示初始屏幕,但是水平图像比屏幕大,并且不合适。也许是因为我的图像徽标是3500 x 1360?我只需要适合屏幕。有什么主意吗?
您的图像徽标太大,可以像以下代码一样为width
的Height
设置item
和bitmap
。
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/colorPrimaryDark"/>
<item android:width="200dp"
android:height="100dp"
android:gravity="center">
<bitmap
android:gravity="fill"
android:mipMap="true"
android:src="@drawable/code_logo"/>
</item>
</layer-list>
这里正在运行屏幕截图。
我的测试代码徽标是3500 x 1360,由于宽度太大,模拟器有时会崩溃。请按宽度和高度的比例减小徽标的尺寸,然后像上面的代码一样设置with或height。