我正在创建一个Xamarin表单项目,并使用android.support.v7.widget.Toolbar和FormsAppCompatActivity。我下面发布的代码是使用Xamarin.Android.Support.v7.AppCompat版本:23.0.1.3
但是在我升级到23.3.0之后,这已经开始抛出Android.Views.InflateException:二进制XML文件第1行:膨胀类android.support.v7.widget.toolbar异常时出错。
下面是我的MainActivity代码
[Activity(Label = "AppMob.Client", Icon = "@drawable/icon", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
FormsAppCompatActivity.ToolbarResource = Resource.Layout.toolbar;
FormsAppCompatActivity.TabLayoutResource = Resource.Layout.tabs;
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
Xamarin.FormsMaps.Init(this,bundle);
GoogleAnalyticsHelper.GetGASInstance().Initialize_NativeGAS(Application.Context); //For GA initialization
LoadApplication(new App());
}
}
这是我的资源.布局.工具栏的代码
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_scrollFlags="scroll|enterAlways" />
我已将Xamarin表单更新到2.2.0.31
此版本Xamarin Forms的依赖项包括:
Xamarin.Android.Support.v4 (= 23.3.0)
Xamarin.Android.Support.Design (= 23.3.0)
Xamarin.Android.Support.v7.AppCompat (= 23.3.0)
Xamarin.Android.Support.v7.CardView (= 23.3.0)
Xamarin.Android.Support.v7.MediaRouter (= 23.3.0)
因此,它应与23.3兼容。
7条答案
按热度按时间i7uaboj41#
可能您没有在activity.cs中声明布局主题,您必须将其添加到您的activity.cs中:
wsewodh22#
一旦我有你的问题,我做了以下步骤来解决它:
OnCreate(Bundle bundle)
的第一行调用RequestWindowFeature(WindowFeature.Notiltle)
,然后再次检查是否删除了ActionBar。"?attr/colorPrimary"
,而是直接调用颜色资源。毕竟,如果你能发布你的风格xml文件和主布局,我会帮助更有效。
6gpjuf903#
此错误的解决方法如下。
你需要为那个解决方案更新Xamarin表单。在NuGet包里。那个也说CardView的包。
那你就应该清理重建。
这将解决这个问题。
piv4azn74#
我遇到了同样的问题,也许你可以删除一些选项,如“app:layout_scrollFlags”,在API 21中不支持,如果所有选项都可以,删除“?attr”值,并把它们的真实的值代替。
ih99xse15#
在我的例子中,我发现我写了android.support.v7.widget.Toolbar(“suport”用一个字母“p”代替了“support”)
我一修好它它就能用了。
lf3rwulv6#
清洁溶液和重启VS帮助了我。
tyky79it7#
调试Xamarin项目时,请转到“调试”-〉“窗口”-〉“异常设置”在“公共语言运行时异常”下取消选中“系统.异常