0

我正在使用xamarin.android構建一個android應用程序,最小API爲14. 我一直在使用Xamarin.Android.Support.v7.Preference - version 23.4.0.1爲我的應用程序構建首選項頁面。無法找到來自首選項支持庫的樣式

我必須指定偏好頁面的風格,所以我在styles.xml加入這一行:

<item name="preferenceTheme">@style/PreferenceThemeOverlay</item> 

但這使得設置頁面看起來非常全息和非物質,這不適合我的應用程序的主題。
所以我發現你可以用@style/PreferenceThemeOverlay.v14.Material代替,它會給你材質的外觀(基於SO answer)。 這需要我添加Xamarin.Android.Support.v14.Preference庫,所以我添加它,因爲我支持API 14+。

我試圖建立的項目,它似乎無法找到PreferenceThemeOverlay.v14.Material風格,這裏是完整的錯誤:

No resource found that matches the given name (at 'preferenceTheme' with value '@style/PreferenceThemeOverlay.v14.Material'). 

這裏是我的NuGet依賴列表:

<package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="23.4.0.1" targetFramework="monoandroid70" /> 
<package id="Xamarin.Android.Support.Design" version="23.4.0.1" targetFramework="monoandroid70" /> 
<package id="Xamarin.Android.Support.v14.Preference" version="23.4.0.1" targetFramework="monoandroid70" /> 
<package id="Xamarin.Android.Support.v4" version="23.4.0.1" targetFramework="monoandroid70" /> 
<package id="Xamarin.Android.Support.v7.AppCompat" version="23.4.0.1" targetFramework="monoandroid70" /> 
<package id="Xamarin.Android.Support.v7.GridLayout" version="23.4.0.1" targetFramework="monoandroid70" /> 
<package id="Xamarin.Android.Support.v7.Preference" version="23.4.0.1" targetFramework="monoandroid70" /> 
<package id="Xamarin.Android.Support.v7.RecyclerView" version="23.4.0.1" targetFramework="monoandroid70" /> 
<package id="Xamarin.Android.Support.Vector.Drawable" version="23.4.0.1" targetFramework="monoandroid70" /> 

如何我可以修復它嗎?我錯過了什麼嗎?有沒有更好的/替代的方式來實現材質外觀?

我已經看過了的源代碼,xamarin爲可發現here庫結合,構築項目我自己,我發現這個文件在AndroidSupportComponents-master\externals\preference-v14\res\values

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    ... 
    <style name="PreferenceThemeOverlay.v14.Material"> 
     <item name="preferenceScreenStyle">@style/Preference.PreferenceScreen.Material</item> 
     <item name="preferenceFragmentCompatStyle">@style/PreferenceFragment.Material</item> 
     <item name="preferenceFragmentStyle">@style/PreferenceFragment.Material</item> 
     <item name="preferenceCategoryStyle">@style/Preference.Category.Material</item> 
     <item name="preferenceStyle">@style/Preference.Material</item> 
     <item name="preferenceInformationStyle">@style/Preference.Information.Material</item> 
     <item name="checkBoxPreferenceStyle">@style/Preference.CheckBoxPreference.Material</item> 
     <item name="switchPreferenceCompatStyle">@style/Preference.SwitchPreferenceCompat.Material</item> 
     <item name="switchPreferenceStyle">@style/Preference.SwitchPreference.Material</item> 
     <item name="dialogPreferenceStyle">@style/Preference.DialogPreference.Material</item> 
     <item name="editTextPreferenceStyle">@style/Preference.DialogPreference.EditTextPreference.Material</item> 
     <item name="preferenceFragmentListStyle">@style/PreferenceFragmentList.Material</item> 
    </style> 
    ... 
</resources> 

所以似乎該風格包含在庫中,應該包含在庫中,也許構建過程是錯誤的?或者我沒有正確引用該庫?

回答

0

顯然,我做的一切都正確,這是VS的緩存問題,我已經重新下載軟件包並重新啓動PC,並且項目編譯成功。

相關問題