Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android TabLayout和Theme.AppCompat_Android_Xamarin_Mvvmcross_Android Appcompat_Android Tablayout - Fatal编程技术网

Android TabLayout和Theme.AppCompat

Android TabLayout和Theme.AppCompat,android,xamarin,mvvmcross,android-appcompat,android-tablayout,Android,Xamarin,Mvvmcross,Android Appcompat,Android Tablayout,我正在尝试在XamarinAndroid中实现一个TabLayout 然而,当我试图构建一个TabLayout时,我得到了以下异常 Java.Lang.IllegalArgumentException:您需要使用一个Theme.AppCompat将它们(或后代)与设计库兼容 我曾在.axml布局中尝试过使用TabLayout,但当我将其充气时,我得到了一个例外 我还尝试将其从.axml布局文件中取出,并在充气后以编程方式将其添加到视图中。在这种情况下,我在调用 var tabLayout = n

我正在尝试在XamarinAndroid中实现一个TabLayout

然而,当我试图构建一个TabLayout时,我得到了以下异常

Java.Lang.IllegalArgumentException:您需要使用一个Theme.AppCompat将它们(或后代)与设计库兼容

我曾在.axml布局中尝试过使用TabLayout,但当我将其充气时,我得到了一个例外

我还尝试将其从.axml布局文件中取出,并在充气后以编程方式将其添加到视图中。在这种情况下,我在调用

var tabLayout = new TabLayout(Application.Context);
我还在AndroidManifest文件中将theme设置为theme.AppCompat

我花了两天的时间在这方面,需要一些帮助,如果有人有一个非常简单的工作示例,他们可以分享,这将是有用的


我使用的是Xamarin和MvvmCross。

您提到您已经向AndroidManifest.xml添加了一个主题。根据您将其分配给哪个节点,它可能会在构建时被您的
活动
上的
[Activity]
属性中指定的内容覆盖

通常在Xamarin.Android中,您会将其添加到
[Android]
属性中,而不是手动编辑清单

您可以在
obj\android
中检查生成的清单,看看它是否仍然包含您设置的主题。否则,按如下方式添加:

[Activity(Label = "MyActivity", Theme = "@style/MyTheme")]
public class MyActivity : AppCompatActivity

通过这种方式,它将在构建时正确添加到清单中。

我不知道发生了什么,但我将tabLayout放回了.axml文件,并将其命名为Theme.AppCompat,现在它膨胀了。不太清楚它为什么起作用,但它起作用了。

可能是重复的否,不幸的是,所有这些都没有对我起作用。我不知道发生了什么,但我将tabLayout放回了.axml文件,并给它一个Theme.AppCompat样式,现在它膨胀了。不太清楚它为什么起作用,但它起作用了。