AppCompat v7未正确引用

时间:2017-01-31 10:30:46

标签: android xamarin xamarin.android android-appcompat

我是Xamarin Android的新手。我已经从AppCompatv7选项中安装了GetComponents支持库。

但每当我尝试用它做任何事情时,我都没有智能感知,就像它实际上没有添加到项目中一样。如下所示:

enter image description here

当我更多地了解装配时,它会出现如下选项,说它可能没有安装。但正如您从图片中看到的那样,它安装在我的参考资料下。

enter image description here

如果我点击下图中的Add Package,则不会发生任何事情。

当我编译代码时,它无法在ActionBarActivity基类中找到函数,因此我猜测它并没有将它正确地添加到我的项目中。

任何人都知道为什么会这样吗?干杯

2 个答案:

答案 0 :(得分:1)

  

当我编译代码时,它无法在ActionBarActivity基类中找到函数,因此我猜测它没有将它正确地添加到我的项目中。

ActionBarActivity已过时。

要使用Android.Support.V7.Widget.Toolbar,在安装Xamarin.Android.Support.v7.AppCompat软件包后,您只需从MainActivity而不是AppCompatActivity继承ActionBarActivity

然后例如我的工具栏是这样的:

<android.support.v7.widget.Toolbar
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:layout_height="wrap_content"
  android:minHeight="?attr/actionBarSize"
  android:background="?attr/colorPrimary"
  android:layout_width="match_parent">

  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/toolbartitile"
    android:text="Kodej" />
</android.support.v7.widget.Toolbar>

将此工具栏包含在Main布局中,如下所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
  <include android:id="@+id/toolbar"
           layout="@layout/mytoolbar" />
</LinearLayout>

最后在你的MainActivity

public class MainActivity : AppCompatActivity
{
    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);

        // Set our view from the "main" layout resource
        SetContentView(Resource.Layout.Main);

        var toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
        SetSupportActionBar(toolbar);
    }
}

您只需在代码中引用Android.Support.V7.App

using Android.Support.V7.App;

我演示中的所有参考文献:

enter image description here

如果您已正确安装了lib并且没有智能感知,则可以尝试重建应用程序,关闭并重新打开VS.

答案 1 :(得分:0)

使用NuGet命令控制台安装它:

Install-Package Xamarin.Android.Support.v7.AppCompat -Pre