我的應用程序不使用AppCompat,因爲我的minSdkVersion
是15
。我想用它smart-app-rate library但我正在逐漸(預計):如何在AppCompat中使用AppCompat庫?
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
請注意,我無法將應用程序切換到程序兼容性,因爲A)有沒有真正的需要和B)如果我這樣做,我的應用程序看起來完全不同,它應該。
所以,我試圖下載庫爲ZIP並將其轉換爲不使用AppCompat。我做了this answer中提到的步驟,但現在我得到了一大堆錯誤(如ContextCompat.getColor
,我需要用非AppCompat函數替換),我不確定這是否是正確的方法。
我該如何輕鬆解決這個問題?
沒有「如果你的最小SDK比X大,那麼你不應該使用AppCompat」語句。建議使用支持庫(尤其是如果您的min SDK在API中有大的中斷時<21),因爲支持組件提供了與元素進行交互的統一接口,而無需開發人員檢查某些API級別要求。此外,如果將'Theme.AppCompat'定義爲您當前應用程序主題的父級樣式,則會改變外觀,這可能與您當前的方法有所不同。 –
@GergelyKőrössy,謝謝;顯然我錯過了一些知識並需要閱讀。當我將應用更改爲使用AppCompat時,[這是區別](https://i.imgur.com/aLCVaMJ.jpg)。它看起來真的很糟糕,甚至滑塊都丟失了。你有什麼建議,我應該看看我的代碼更進一步嗎? –
那些是什麼樣的組件? appbar文字顏色可以通過使用'Theme.AppCompat.Light.DarkActionBar'作爲你的父母來解決。 –