2017-08-10 90 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。