在我的启动画面中,我有一幅图像散布在整个屏幕上,因此,该图像看起来不太好-像被拉伸了。
我想通过在“启动画面”样式中添加“ android:height”属性来解决此问题,并更改图像高度,但图像仍处于拉伸状态。
显然,android:height
属性正在影响与初始屏幕
这是我的初始屏幕样式:
<style name="splashScreenTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@mipmap/app_icon</item>
<item name="android:height">100dp</item>
</style>
关于android:height
为什么影响布局视图而不影响启动画面图片的任何想法?
我看到this question在谈论针对不同屏幕尺寸的不同图像,但是区别在于我不希望图像散布到整个屏幕上。
答案 0 :(得分:2)
您使用<item name="android:height">100dp</item>
作为“活动”的根视图。它不是View类的实例,而是其他实例。而且您不能为其设置高度,“活动”应与可用区域匹配。
要修复拉伸图像,请尝试此操作。设置背景不是位图,而是设置可绘制对象
<style name="splashScreenTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/shape_background_splash</item>
</style>
并创建此可绘制对象
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@android:color/white"/>
<item>
<bitmap
android:gravity="center"
android:src="@mipmap/app_icon"/>
</item>
</layer-list>
如果所有比例都有位图,它应该看起来不错