如何设置 Visual Studio 2013 以使用 Android 支持 Library V7 以使用导航抽屉?

How to setup Visual Studio 2013 for the use of Android support Library V7 to use Navigation drawer?

我是 android xamarin 新手。我想要 android 中的导航抽屉,所以我正在尝试使用 Android 支持库 V7 AppCompact。但是我无法设置环境(可能是因为我无法 运行 GIT 上提供的示例应用程序)。因此,我们将不胜感激任何帮助。谢谢。

这是我正在尝试的项目 运行 此处提供 http://developer.xamarin.com/samples/monodroid/android5.0/NavigationDrawer/

这是我在编译时遇到的错误和警告。

Warning    1   iCCP: Not recognizing known sRGB profile that has been edited   C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\res\drawable-mdpi\ic_drawer.png    NavigationDrawer
Warning 2   iCCP: Not recognizing known sRGB profile that has been edited   C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\res\drawable-hdpi\ic_drawer.png    NavigationDrawer
Warning 3   iCCP: Not recognizing known sRGB profile that has been edited   C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\res\drawable-mdpi\ic_drawer.png    NavigationDrawer
Warning 4   iCCP: Not recognizing known sRGB profile that has been edited   C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\res\drawable-hdpi\ic_drawer.png    NavigationDrawer
Error   5    error: package android.support.v7.widget.RecyclerView does not exist
    extends android.support.v7.widget.RecyclerView.Adapter
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\md5bcb996c917facdc1c00eade7083be557\PlanetAdapter.java 5   48  NavigationDrawer
Error   6    error: package android.support.v7.widget.RecyclerView does not exist
    public android.support.v7.widget.RecyclerView.ViewHolder onCreateViewHolder (android.view.ViewGroup p0, int p1)
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\md5bcb996c917facdc1c00eade7083be557\PlanetAdapter.java 28  47  NavigationDrawer
Error   7    error: package android.support.v7.widget.RecyclerView does not exist
    private native android.support.v7.widget.RecyclerView.ViewHolder n_onCreateViewHolder (android.view.ViewGroup p0, int p1);
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\md5bcb996c917facdc1c00eade7083be557\PlanetAdapter.java 33  55  NavigationDrawer
Error   8    error: package android.support.v7.widget.RecyclerView does not exist
    public void onBindViewHolder (android.support.v7.widget.RecyclerView.ViewHolder p0, int p1)
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\md5bcb996c917facdc1c00eade7083be557\PlanetAdapter.java 36  70  NavigationDrawer
Error   9    error: package android.support.v7.widget.RecyclerView does not exist
    private native void n_onBindViewHolder (android.support.v7.widget.RecyclerView.ViewHolder p0, int p1);
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\md5bcb996c917facdc1c00eade7083be557\PlanetAdapter.java 41  80  NavigationDrawer
Error   10   error: package android.support.v7.widget.RecyclerView does not exist
    extends android.support.v7.widget.RecyclerView.ViewHolder
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\md5bcb996c917facdc1c00eade7083be557\PlanetAdapter_ViewHolder.java  5   48  NavigationDrawer
Error   11   error: package android.support.v7.widget.RecyclerView.ItemAnimator does not exist
        android.support.v7.widget.RecyclerView.ItemAnimator.ItemAnimatorFinishedListener
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\mono\android\support\v7\widget\RecyclerView_ItemAnimator_ItemAnimatorFinishedListenerImplementor.java  8   54  NavigationDrawer
Error   12   error: package android.support.v7.widget.RecyclerView does not exist
        android.support.v7.widget.RecyclerView.OnItemTouchListener
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\mono\android\support\v7\widget\RecyclerView_OnItemTouchListenerImplementor.java    8   41  NavigationDrawer
Error   13   error: package android.support.v7.widget does not exist
    public boolean onInterceptTouchEvent (android.support.v7.widget.RecyclerView p0, android.view.MotionEvent p1)
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\mono\android\support\v7\widget\RecyclerView_OnItemTouchListenerImplementor.java    28  65  NavigationDrawer
Error   14   error: package android.support.v7.widget does not exist
    private native boolean n_onInterceptTouchEvent (android.support.v7.widget.RecyclerView p0, android.view.MotionEvent p1);
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\mono\android\support\v7\widget\RecyclerView_OnItemTouchListenerImplementor.java    33  75  NavigationDrawer
Error   15   error: package android.support.v7.widget does not exist
    public void onTouchEvent (android.support.v7.widget.RecyclerView p0, android.view.MotionEvent p1)
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\mono\android\support\v7\widget\RecyclerView_OnItemTouchListenerImplementor.java    36  53  NavigationDrawer
Error   16   error: package android.support.v7.widget does not exist
    private native void n_onTouchEvent (android.support.v7.widget.RecyclerView p0, android.view.MotionEvent p1);
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\mono\android\support\v7\widget\RecyclerView_OnItemTouchListenerImplementor.java    41  63  NavigationDrawer
Error   17   error: package android.support.v7.widget.RecyclerView does not exist
        android.support.v7.widget.RecyclerView.OnScrollListener
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\mono\android\support\v7\widget\RecyclerView_OnScrollListenerImplementor.java   8   41  NavigationDrawer
Error   18   error: package android.support.v7.widget.RecyclerView does not exist
        android.support.v7.widget.RecyclerView.RecyclerListener
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\mono\android\support\v7\widget\RecyclerView_RecyclerListenerImplementor.java   8   41  NavigationDrawer
Error   19   error: package android.support.v7.widget.RecyclerView does not exist
    public void onViewRecycled (android.support.v7.widget.RecyclerView.ViewHolder p0)
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\mono\android\support\v7\widget\RecyclerView_RecyclerListenerImplementor.java   27  68  NavigationDrawer
Error   20   error: package android.support.v7.widget.RecyclerView does not exist
    private native void n_onViewRecycled (android.support.v7.widget.RecyclerView.ViewHolder p0);
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\mono\android\support\v7\widget\RecyclerView_RecyclerListenerImplementor.java   32  78  NavigationDrawer
Error   21   error: cannot find symbol
        if (getClass () == PlanetAdapter.class)
  symbol:   method getClass()
  location: class PlanetAdapter
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\md5bcb996c917facdc1c00eade7083be557\PlanetAdapter.java 23  7   NavigationDrawer
Error   22   error: method Activate in class TypeManager cannot be applied to given types;
            mono.android.TypeManager.Activate ("NavigationDrawer.PlanetAdapter, NavigationDrawer, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", "", this, new java.lang.Object[] {  });
  required: String,String,Object,Object[]
  found: String,String,PlanetAdapter,Object[]
  reason: actual argument PlanetAdapter cannot be converted to Object by method invocation conversion
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\md5bcb996c917facdc1c00eade7083be557\PlanetAdapter.java 24  28  NavigationDrawer
Error   23   error: cannot find symbol
        if (getClass () == PlanetAdapter_ViewHolder.class)
  symbol:   method getClass()
  location: class PlanetAdapter_ViewHolder
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\md5bcb996c917facdc1c00eade7083be557\PlanetAdapter_ViewHolder.java  20  7   NavigationDrawer
Error   24   error: method Activate in class TypeManager cannot be applied to given types;
            mono.android.TypeManager.Activate ("NavigationDrawer.PlanetAdapter/ViewHolder, NavigationDrawer, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", "Android.Views.View, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065", this, new java.lang.Object[] { p0 });
  required: String,String,Object,Object[]
  found: String,String,PlanetAdapter_ViewHolder,Object[]
  reason: actual argument PlanetAdapter_ViewHolder cannot be converted to Object by method invocation conversion
    C:\Users\superfast\Desktop\New folder\NavigationDrawer\obj\Debug\android\src\md5bcb996c917facdc1c00eade7083be557\PlanetAdapter_ViewHolder.java  21  28  NavigationDrawer

我能够拉下这个包并让它在不做任何更改的情况下工作。您是否恢复了 nuget 包?

此外,您可能希望在恢复包后对解决方案进行全面清理和重建。

我在博客中介绍了一种使用设计支持库实现导航抽屉的新方法:https://blog.xamarin.com/add-beautiful-material-design-with-the-android-support-design-library/

我还有一个 GitHub 存储库,其中包含您可能想要查看的导航抽屉示例:https://github.com/jamesmontemagno/Xam.NavDrawer