无法使用 'android:windowTranslucentNavigation'
Unable to use 'android:windowTranslucentNavigation'
有a post of the same question and it has received an answer个。我怀疑我的情况有所不同,这可能表明项目配置存在一般问题。
windowTranslucentNavigation 适用于 API 19。我已将 targetSdkVersion inn 设置为 build.gradle 和清单。
在 build.gradle:
defaultConfig {
applicationId "xxx"
minSdkVersion 9
targetSdkVersion 21
// Enabling multidex support.
multiDexEnabled true
}
清单中:
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21" />
Android Studio对windowTranslucentNavigation一清二楚。以下警告显示了这一点:
构建项目时,产生如下错误:
错误:(7, 29) 找不到与给定名称匹配的资源:attr 'windowTranslucentNavigation'.
这里是themes.xml的内容:
<resources>
<!-- the theme applied to the application or activity -->
<style name="OverlayingActionBarTheme"
parent="@style/Theme.AppCompat">
<item name="android:windowActionBarOverlay">true</item>
<item name="android:actionBarStyle">@style/TransparentActionBar</item>
<item name="android:windowTranslucentNavigation">true</item>
<!-- Support library compatibility -->
<item name="windowActionBarOverlay">true</item>
<item name="actionBarStyle">@style/TransparentActionBar</item>
<item name="windowTranslucentNavigation">true</item>
</style>
<!-- ActionBar styles -->
<style name="TransparentActionBar"
parent="@style/Widget.AppCompat.ActionBar">
<item name="android:background">@color/black_overlay</item>
<!-- Support library compatibility -->
<item name="background">@color/black_overlay</item>
</style>
有人可以提供有关如何解决此问题的提示吗?
如果您想支持或不使用它,您需要将 minSdkVersion 更改为 19。在任何其他情况下,例如调用仅在新版本中支持的方法,如果您的版本较低,您可以通过编程方式决定不调用它,但在这种情况下,您无法根据版本以编程方式更改样式。
建议您更改 minSdkVersion
以支持这一点的答案并不完全正确。早于 19 的版本可能不支持该功能,但您可以在不更改 minSdkVersion
.
的情况下使用它
您将在名为 values-v19
的文件夹中创建一个 themes.xml
文件。这将允许您在 运行 该版本或更高版本的任何设备上使用 SDK 19+ style/theme 功能。
有关其工作原理的更多信息:Supporting Different Platform Versions。
有a post of the same question and it has received an answer个。我怀疑我的情况有所不同,这可能表明项目配置存在一般问题。 windowTranslucentNavigation 适用于 API 19。我已将 targetSdkVersion inn 设置为 build.gradle 和清单。 在 build.gradle:
defaultConfig {
applicationId "xxx"
minSdkVersion 9
targetSdkVersion 21
// Enabling multidex support.
multiDexEnabled true
}
清单中:
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21" />
Android Studio对windowTranslucentNavigation一清二楚。以下警告显示了这一点:
构建项目时,产生如下错误:
错误:(7, 29) 找不到与给定名称匹配的资源:attr 'windowTranslucentNavigation'.
这里是themes.xml的内容:
<resources>
<!-- the theme applied to the application or activity -->
<style name="OverlayingActionBarTheme"
parent="@style/Theme.AppCompat">
<item name="android:windowActionBarOverlay">true</item>
<item name="android:actionBarStyle">@style/TransparentActionBar</item>
<item name="android:windowTranslucentNavigation">true</item>
<!-- Support library compatibility -->
<item name="windowActionBarOverlay">true</item>
<item name="actionBarStyle">@style/TransparentActionBar</item>
<item name="windowTranslucentNavigation">true</item>
</style>
<!-- ActionBar styles -->
<style name="TransparentActionBar"
parent="@style/Widget.AppCompat.ActionBar">
<item name="android:background">@color/black_overlay</item>
<!-- Support library compatibility -->
<item name="background">@color/black_overlay</item>
</style>
有人可以提供有关如何解决此问题的提示吗?
如果您想支持或不使用它,您需要将 minSdkVersion 更改为 19。在任何其他情况下,例如调用仅在新版本中支持的方法,如果您的版本较低,您可以通过编程方式决定不调用它,但在这种情况下,您无法根据版本以编程方式更改样式。
建议您更改 minSdkVersion
以支持这一点的答案并不完全正确。早于 19 的版本可能不支持该功能,但您可以在不更改 minSdkVersion
.
您将在名为 values-v19
的文件夹中创建一个 themes.xml
文件。这将允许您在 运行 该版本或更高版本的任何设备上使用 SDK 19+ style/theme 功能。
有关其工作原理的更多信息:Supporting Different Platform Versions。