我目前正在使用带有图像视图的初始屏幕。问题是,当显示启动画面时,图像周围有一个白色边框。因此,初始屏幕显示带有白色边框的图像。我想完全删除白色边框。有没有人知道这个或任何建议的原因?
这是我的xml代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<View android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView android:id="@+id/ImageViewSplash"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:contentDescription="@string/splashImageContentDescription" />
</RelativeLayout>
答案 0 :(得分:2)
我在我用于启动页面的主题/样式中应用透明背景,这样我就不必扭曲正在显示的图像以适应设备的屏幕尺寸。当使用包含透明背景的PNG文件时,这种方法效果特别好。
这是我用于这个“透明”主题的风格:
<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
然后,将此主题应用于应用程序清单中的splash活动,如下所示:
<activity
android:name="com.masseria.homework9.SplashActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name"
android:theme="@style/Theme.Transparent" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
答案 1 :(得分:0)
在我看来,除了ImageView
之外,您可以删除布局中的所有内容。所以它看起来像这样:
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ImageViewSplash"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:contentDescription="@string/splashImageContentDescription" />
然后你可以在图像上使用scaleType,直到找到填满屏幕的那个。如果这些都不起作用,我建议增加图像文件的分辨率。