如何避免缩放背景可绘制对象

时间:2018-08-17 12:43:59

标签: android android-drawable

我的开始活动的主题为@style/AppTheme.Launcher

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

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

    <item>
        <bitmap android:src="@drawable/my_logo" android:gravity="center" />
    </item>

</layer-list>

我的活动开始时出现错误:

E/AndroidRuntime: FATAL EXCEPTION: main
              Process: my.package, PID: 23108
              java.lang.RuntimeException: Unable to start activity ComponentInfo{ru.package/my.package.MainActivity}: android.content.res.Resources$NotFoundException: Drawable my.package:drawable/launch_screen with resource ID #0x7f060059

更新1

<resources>

    ...

    <style name="AppTheme.Launcher" parent="AppTheme">
        <item name="android:windowBackground">@drawable/launch_screen</item>
    </style>


</resources>

我的活动从这个主题开始。

2 个答案:

答案 0 :(得分:0)

代替:

<item>
    <bitmap android:src="@drawable/my_logo" android:gravity="center" />
</item>

尝试:

<item>
    <bitmap  app:srcCompat="@drawable/my_logo" android:gravity="center" />
</item>

或:

<item
    app:srcCompat="@drawable/my_logo" android:gravity="center" />

您确定launch_screen.xml在主软件包的res/drawable文件夹中吗?
您是否创建了诸如drawable-v21之类的其他文件夹?
错误消息是:

Resources$NotFoundException: Drawable my.package:drawable/launch_screen

如果launch_screen.xml在应有的位置,则您的应用可以正常工作。
不得已:清理并重建项目。

答案 1 :(得分:0)

您可以使用drawablelayer - list内添加图像。试试这个,希望对您有帮助。如果没有,请告诉我。

<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/colorPrimary" />
    <item android:drawable="@drawable/home_background" />
</layer-list>