我正在尝试在Xamarin Android中实现TabLayout。
但是当我尝试构建一个TabLayout时,我得到以下异常
Java.Lang.IllegalArgumentException:您需要将Theme.AppCompat它们(或后代)与设计库一起使用。
我在.axml布局中使用TabLayout尝试了这个,但是当我给它充气时,我得到了异常。
我还尝试将其从.axml布局文件中取出,并在我充气后以编程方式将其添加到视图中。在这种情况下,我在调用
后直接获得异常var tabLayout = new TabLayout(Application.Context);
我还在AndroidManifest文件中将主题设置为Theme.AppCompat
我花了两天时间在这上面并需要一些帮助,如果有人有一个他们可以分享的非常简单的工作示例,那将会非常有用。
我正在使用Xamarin和MvvmCross。
答案 0 :(得分:0)
您提到已在AndroidManifest.xml中添加了主题。根据您为其分配的节点,可能会按照[Activity]
上Activity
属性中指定的内容覆盖构建时间。
通常在Xamarin.Android中,您可以将其添加到[Android]
属性,而不是手动编辑清单。
您可以在obj\android
中查看结果清单,看看它是否仍包含您设置的主题。否则添加如下:
[Activity(Label = "MyActivity", Theme = "@style/MyTheme")]
public class MyActivity : AppCompatActivity
通过这种方式,它可以在清单的构建时正确添加。
答案 1 :(得分:0)
我不知道发生了什么,但是我将tabLayout放回到.axml文件中并给它一种Theme.AppCompat样式,它现在膨胀了。不太清楚为什么它正在工作,但它正在发挥作用。