2013-11-21 3 views
4

저는 안드로이드 개발에 착수했습니다. Android Studio를 다운로드했으며 새 프로젝트를 시작할 때 Theme.AppCompat.Light이라는 테마를 사용했습니다 (새 프로젝트를 만들 때 Holo Light를 선택하기가 어려웠습니다). 그래서 내 질문은, 왜 안드로이드가 이것을 사용하고 무엇을 위해 유용합니까? 나는 android:Theme.Holo.Light로 변경하려고 시도했지만 오류가 발생합니다. java.lang.IllegalStateException :이 활동과 함께 Theme.AppCompat 테마 (또는 하위 클래스)를 사용해야합니다.android의 AppCompat 테마는 무엇입니까?

나는이 SDK 구성을 사용하고 있습니다 : 안드로이드 :의 minSdkVersion = "7" 안드로이드 : targetSdkVersion을 = "18"

그래서 제 질문은, 왜 APPCOMPAT을 사용하고, 내가 무엇을해야합니까 내 응용 프로그램이 Holo 테마를 사용할 수있게합니다.

내 활동 등급은 생성 된 기본값 (ActionBarActivity를 확장)입니다.

+0

그리고 여기 내 코드 앞에 4 칸 배치하면 작동하지 않습니다 ... – Squeazer

답변

3

홀로 테마는 최소한의 홀로 테마를 얻을이 프로젝트를 사용하여 그것을 7을 유지하려면 14

android:minSdkVersion="7"android:minSdkVersion="14"

변경 API 레벨에서 소개 ActionBar가 API 11에서 소개되었으므로 이전 버전과 호환되는 Google에서 지원 라이브러리를 출시했습니다. 당신은 여기에서 Android Support Library에 대해 읽었을 것입니다. 앱에서 사용하는 방법을 찾을 수도 있습니다. Action Bar에만 해당되는 것은 아닙니다. Google은 새로운 기기에서 사용할 수있는 많은 새로운 기능에 대한 이전 버전과의 호환성을 지원하는 라이브러리를 보유하고 있습니다.

+0

오우 저는 더 높은 API 레벨을 사용하려고했지만 13시에 멈췄습니다./오, 잘 됐네, 지금 작동합니다! 오타가 생긴 것 같아서 내 minSdkVersion을 14로 변경해야합니까? – Squeazer

+0

죄송합니다. 내 기도서에서 편집 해 드리겠습니다. – Tyler

+0

Holo Everywhere 어디에서나 맞춤 클래스를 사용해야합니다. 옵션이 아닐 수도 있습니다. – meredrica

2

Holo에 대해 전혀 알지 못하는 SDK 7 (Android 2.1)을 사용했기 때문입니다. Android 팀은 홀로와 비슷한 (거의) 호환성 테마를 제공합니다.

사이드 노드에서 최소한 SKD 10으로 전환하면 인생을 훨씬 쉽게 할 수 있습니다. HoloEverywhere

1

:

0

프로젝트를 생성하는 위의 분 API 레벨 15에 ActionBarActivity에서 상속 기본 활동, 나는 활동에이 변경되어 지금 내 활동 활동에서 상속됩니다. 이제 Holo 또는 다른 테마로 변경할 수 있습니다. ActionBarActivity에서 상속받은 것은 appcompat 테마가 필요합니다.

관련 문제