我很好奇如何找到缺少默认值的android资源。例如,可以定义corner_radius
在dimens-sw600dp.xml
,在不定义它dimens.xml
。这将在最小宽度小于600 dp的任何设备上导致运行时崩溃。
在上面的示例中,默认值丢失并不明显。运行aapt后,尽管缺少默认值,您仍可以在代码和xml中引用维度。(通过R.dimen.corner_radius
和@dimen/corner_radius
)。该错误只有在运行时才能发现。
Android Studio包含了一次皮棉检查,检查是否缺少翻译,但似乎并未检查其他资源类型。有没有一种简便的方法可以在构建时检查其他丢失的资源(尺寸,布局等)?
我的应用程序仅支持landscape
模式(这是业务需求)。
我的文件夹中有一个布局 xml 文件layout-land
,但我没有费心去创建layout
文件夹,因为我在 Android 清单文件中明确禁用了纵向模式:
<activity android:name=".MainActivity"
android:screenOrientation="landscape">
</activity>
Run Code Online (Sandbox Code Playgroud)
然而在我的布局 xml 文件中,我收到了标题中提到的警告(尽管有警告,应用程序运行得很好)。
这是否只是 Android studio 愚蠢的原因,因为它没有看到清单文件中禁用了肖像?我可以安全地忽略此警告吗?或者我真的应该改变一些东西吗?
另外,作为一个附带问题,有什么方法可以实现 landscape
基本方向吗?”这整个警告源于基本方向这一事实portrait
,如果我能以某种方式实现landscape
基本方向,那么这个警告可能就会消失。