2017-08-10 143 views
1

我正在尝试使用Android Studio将启动画面添加到Android的现有移动应用程序。从我研究过的所有东西中,我需要使用AppCompat来做到这一点,但是每次尝试将其添加到我的styles.xml文件时,Android Studio都会告诉我“无法解析符号”AppCompat“”。是否还有其他地方我应该在样式页面之前添加此代码以便让代码接受它?我的代码如下。无法解析符号AppCompat

Styles.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <style name="AppTheme" parent="AppCompat"> 
     <item name="android:colorPrimary"></item> 
    </style> 

    <style name="SplashTheme" parent="Theme.AppTheme"> 
     <item name="android:windowBackground">@drawable/background</item> 
    </style> 

</resources> 

我试着将它添加到我的AndroidManifest.xml文件没有效果,我收到该文件中的错误“未知的资源类型”。

当我试图将我的主文件更改为: “public class Snake extends AppCompatActivity” 我再次收到“无法解析符号”错误。

我觉得我已经阅读的指南已经离开了一些重要的,但令人震惊的显而易见的步骤,大多数熟悉Android的人会很清楚。遗憾的是,我对Android还是比较陌生并试图学习。

回答

0

您的Gradle依赖关系中应该有compile "com.android.support:appcompat-v7:25.3.1"

您可以使用ActionBar和Without ActionBar创建主题。如果您在活动中使用工具栏,可能应该使用没有操作栏主题的工具栏。相应地选择您的主题。

像这样创建样式文件。

随着动作条

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="android:colorPrimary"></item> 
</style> 

<style name="SplashTheme" parent="Theme.AppTheme"> 
    <item name="android:windowBackground">@drawable/background</item> 
</style> 

没有动作条

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="android:colorPrimary"></item> 
</style> 

<style name="SplashTheme" parent="Theme.AppTheme"> 
    <item name="android:windowBackground">@drawable/background</item> 
</style> 

现在在清单参考主题。希望它能正常工作:)

+0

我按照你的建议将这一行添加到依赖关系中,现在我无法同步我的项目,得到错误“Gradle Sync Failed:内容不允许在尾部”。我的Gradle文件以前没有依赖关系部分,所以我可能不正确地添加了这个。我添加了:依赖项compile'c​​om.android.support:appcompat-v7:25.3.1' } –

+0

你可以发布你完整的gradle文件吗? –

+0

apply plugin:'com.android.application' android { compileSdkVersion 26 buildToolsVersion '26 .0。0' defaultConfig { 的applicationID “com.example.android.snake” testApplicationId “com.example.android.snake.tests” testInstrumentationRunner “android.test.InstrumentationTestRunner” } buildTypes { 释放{ minifyEnabled假 proguardFiles getDefaultProguardFile( 'proguard的-android.txt'), 'proguard的-rules.txt' } } } 依赖性{ 编译 'com.android.support:appcompat-v7:25.3.1' } –

1

因此改变AppThemeTheme.AppCompat.Light.NoActionBar这样的风格会是这样的:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="android:colorPrimary"></item> 
</style> 

<style name="SplashTheme" parent="Theme.AppTheme"> 
    <item name="android:windowBackground">@drawable/background</item> 
</style> 

你有这些错误无法解决符号程序兼容性因为专用型程序兼容性是不是主题,AppCompat是主题资源中的一个符号。所以每次你需要设置一个AppCompat主题时,你需要输入Theme.AppCompat来获取主题AppCompat。