0

최소 API가 14 인 xamarin.android를 사용하여 Android 앱을 제작 중입니다. 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 이상을 지원하므로 추가해야합니다.

<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" /> 

방법 : 여기

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

내 nuget 종속성 목록입니다

내가 프로젝트를 빌드하는 시도가 PreferenceThemeOverlay.v14.Material 스타일을 찾을 수없는 것, 여기에 전체 오류입니다 내가 고칠 수 있을까? 내가 뭔가 빠졌어? 물질적 인 외관을 얻기위한 더 나은/대안적인 방법이 있습니까?

내가 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를 다시 시작 했으므로 프로젝트가 성공적으로 컴파일되었습니다.