首页 > 解决方案 > 错误:找不到资源 android:dimen/system_app_widget_internal_padding

问题描述

我正在尝试在 Android Studio 上为小部件创建一个适用于 Android 的应用程序。

每次我尝试在模拟器上运行我的应用程序时,我都会收到此错误 AAPT: error: resource android:dimen/system_app_widget_internal_padding not found。

我试过重新安装android studio,但没有用。

v31\themes.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!--
    Having themes.xml for v31 variant because @android:dimen/system_app_widget_background_radius
     and @android:dimen/system_app_widget_internal_padding requires API level 31
    -->
    <style name="Theme.MyApplication.AppWidgetContainerParent" parent="@android:style/Theme.DeviceDefault.DayNight">
        <item name="appWidgetRadius">@android:dimen/system_app_widget_background_radius</item>
        <item name="appWidgetPadding">@android:dimen/system_app_widget_internal_padding</item>
        <item name="appWidgetInnerRadius">@android:dimen/system_app_widget_inner_radius</item>
    </style>
</resources>

标签: xmlandroid-studioandroid-appwidget

解决方案


使用 Android Studio 的 App Widget 模板创建小部件时,会创建多个文件和资源。其中两个themes文件包含以下行:

<item name="appWidgetPadding">@android:dimen/system_app_widget_internal_padding</item>

构建时,system_app_widget_internal_padding未找到尺寸。原因是它已被删除(或实际上重命名,如您在此处看到的)。可能这应该在早期的 Android S 测试版中公开,后来被删除。

最简单的解决方案是直接使用该值,如下所示:

<item name="appWidgetPadding">16dp</item>


推荐阅读