我刚刚第一次安装了Android Studio,以了解如何制作应用。 但是我偶然发现了每当我创建项目时都会遇到的错误。 我得到的错误就是这个:
"Render problem - Failed to find style 'coordinatorLayoutStyle' in current Theme.
所以我做了一些搜索,找到了像我这样的多个帖子,每个人都可以添加以下代码来解决这个问题。
<item name="coordinatorLayoutStyle">@style/Widget.Design.CoordinatorLayout</item>
我在应用程序主题中添加了代码行,现在又收到了另一个错误。
渲染问题 - 无法解析资源@ style / Widget.Design.CoordinatorLayout
styles.xml看起来像这样
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="coordinatorLayoutStyle">@style/Widget.Design.CoordinatorLayout</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
这一行
@style/Widget.Design.CoordinatorLayout
被加了红色标记,当它悬停在它上面时,它表示“符号无法解析”
此外,这是我的build.gradle文件,在这里你可以看到我正在使用最新的设计库,我正在编译API 28
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.fredrikbiten.myapplication2"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
implementation 'com.android.support.constraint:constraint-layout:1.1.1'
implementation 'com.android.support:design:28.0.0-alpha3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
我没有编写任何代码行,这在创建项目时都是默认的。谁知道解决方案?
答案 0 :(得分:3)
这是由API引起的问题28.只需转到API 27(编译和目标版本,依赖项等)并等待他们修复此问题。
我还没有找到真正的解决方案,重建,清理,无效的缓存等。尝试了所有StackOverflow答案,但它们也没有用。
答案 1 :(得分:1)
所以我得到了它的工作。我将API级别和设计版本从28更改为27。现在可以使用。
答案 2 :(得分:0)
在我的情况下,我添加了你描述的那一行:
@class DJIFlightHubManager;
/**
* Delegate to receive updated states related to DJI FlightHub.
*/
@protocol DJIFlightHubManagerDelegate <NSObject>
/**
* Updates states for the uploading progress of flight data.
*
* @param flightHubManager The FlightHub Manager updates the state.
* @param state The updated state. When it is `DJIFlightHubUploadStateRejectedByServer`, refer to error for more detail.
* @param error The returned error when the upload request is rejected by the server. Use the error to check the reason.
*/
- (void)flightHubManager:(DJIFlightHubManager *)flightHubManager didUpdateUploadState:(DJIFlightHubUploadState)state error:(nullable NSError *)error;
@end
到 AppTheme ,而不是 AppTheme.NoActionBar ,问题解决了! 希望这能引导你朝着正确的方向前进。
答案 3 :(得分:0)
您的项目中似乎没有Android支持设计库。它看起来应该是这样的:{app}级com.android.support:design:24.0.0
文件的dependencies
区域中的build.gradle
。
您应该使用与您指定的compileSdkVersion
一起提供的支持库版本。例如,如果您要针对API级别27进行编译,则应使用com.android.support:design:27.1.1
答案 4 :(得分:0)