2017-02-07 69 views
0

我想在Xamarin Android中實現一個TabLayout。TabLayout和Theme.AppCompat

然而,當我試圖建立一個TabLayout我得到下面的異常

java.lang.IllegalArgumentException異常:您需要使用Theme.AppCompat他們(或後代)的設計庫。

我已經試過這與TabLayout在一個.axml佈局,但是當我膨脹它時,我得到了異常。

我也嘗試將它從.axml佈局文件中取出並以編程方式將其添加到充氣後的視圖中。在這種情況下,我呼籲

var tabLayout = new TabLayout(Application.Context); 

我還設置了主題Theme.AppCompat在AndroidManifest文件後,直接將異常

我已經花了兩天時間就這個問題和需要一些幫助,這將是如果有人有一個非常簡單的工作示例,他們可以分享。

我正在使用Xamarin和MvvmCross。

+0

[您需要在此活動中使用Theme.AppCompat主題(或後代)](http://stackoverflow.com/questions/21814825/you-need-to-use-a-theme-appcompat主題或後代與此活動) – SushiHangover

+0

不,這些都不幸爲我工作。 – rideintothesun

回答

0

你提到你已經添加了一個主題到你的AndroidManifest.xml。根據您分配的節點,它可能會在構建時間被覆蓋,具體取決於Activity上的[Activity]屬性中指定的內容。

通常在Xamarin.Android中,您將其添加到[Android]屬性中,而不是手動編輯清單。

您可以在obj\android中檢查產生的清單,看它是否仍包含您設置的主題。否則,像這樣添加它:

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

這樣它會在構建清單時正確添加。

+0

我不知道發生了什麼,但我把tabLayout放回到.axml文件中,並給它一種Theme.AppCompat樣式,現在它膨脹了。不太清楚爲什麼它可以正常工作,但它正在工作。 – rideintothesun

0

我不知道發生了什麼,但我把tabLayout放回到.axml文件中,並給它一種Theme.AppCompat樣式,現在它膨脹了。不太清楚爲什麼它可以正常工作,但它正在工作。