0

Я создаю приложение для Android, используя xamarin.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, я перезагрузил пакет и перезапустил ПК, и проект был скомпилирован успешно.