2017-02-07 9 views
0

Xamarin Android에서 TabLayout을 구현하려고합니다.TabLayout 및 Theme.AppCompat

그러나 나는 다음과 같은 예외를

java.lang.IllegalArgumentException가를 얻을 TabLayout를 구성하려고하면 당신은 디자인 라이브러리와 Theme.AppCompat 그들 (또는 자손)를 사용합니다.

TabLayout을 .axml 레이아웃으로 사용해 보았습니다.하지만이를 팽창 시켰을 때 예외가 발생했습니다.

또한 .axml 레이아웃 파일에서 가져 와서 프로그램을 통해 풍선을 추가 한 후에 프로그래밍 방식으로 추가해 보았습니다. 이 경우 나는 또한 파일 AndroidManifest를에 Theme.AppCompat에 테마를 설정 한

var tabLayout = new TabLayout(Application.Context); 

를 호출 한 후 직접 예외가

나는이 두 날을 보내와 도움이 필요했다

, 그것은 것 누군가 공유 할 수있는 아주 간단한 작업 예제가있는 경우 유용합니다.

저는 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

무슨 일이 일어 났는지는 잘 모르겠지만, .axml 파일에 tabLayout을 다시 넣고 Theme.AppCompat 스타일을 지정하면 이제는 부풀려집니다. 왜 그것이 작동하는지는 잘 모르지만 작동하고 있습니다.