2014-05-22 2 views
0
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="net.androidbootcamp.concerttickets2" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="19" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="net.androidbootcamp.concerttickets2.MainActivity" 
      android:theme="@android:style/Theme.Black.NoTitleBar" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

이 활동과 함께 Theme.AppCompat 테마 (또는 하위 클래스)를 사용해야하는 이유는 무엇입니까? API 19에서이 프로그램을 실행하려고합니다.Java Eclipse Theme.AppCompat 오류

+1

<style name="AppTheme" parent="@style/Theme.AppCompat"> </style> 

매니페스트 style.xml 당신의 활동을 위해 그리고 활동 테마를 Theme.AppCompat 또는 비슷한 주제로 설정하십시오. – betorcs

+0

@betorcs 어떻게해야합니까? Android Manifest 탭 중 하나에 있습니까? 아니면 MainActivity.java에서이 코드를 작성합니까? – Dan653

답변

1
<activity 
     android:name="net.androidbootcamp.concerttickets2.MainActivity" <-- If this guy extends ActionBarCompat --> 
     android:theme="@android:style/Theme.Black.NoTitleBar" <!-- Then, android:theme must extends Theme.AppCompat --> 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

는 액션 바 (NoTitleBar)가 필요하지 않은 경우, 단지 Activity

public class MainActivity extends Activity { // Instead of extends ActionBarCompat 

} 

를 사용하도록 클래스를 변경하지만 ActionBarCompat를 사용하려면, 그래서 Theme.AppCompat

연장하는 사용자 정의 테마를 만들

예 :

public class MyActivityWithActionBarCompat extends ActionBarActivity { 


} 

/고해상도/값/API 레벨 7 이상에서 실행 할 때 android.support.v7.app.ActionBarActivity \t을 확장하여 활동에 액션 바을 추가 할 수 있습니다

<activity 
     android:name=".MyActivityWithActionBarCompat" 
     android:theme="@style/AppTheme" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
+0

복사 붙여 넣기 솔루션은 항상 사람들에게 문제가 무엇인지 알려주고 RTFM에 묻는 것 같습니다. –

0

Theme.AppCompat까지 확장 된 테마를 사용해야합니다. 이는 AppCompat 라이브러리를 사용할 때 요구되는 사항입니다.

AppCompat 테마로 ActionBar의 스타일을 지정하는 방법에 대한 자세한 정보는 here입니다.

+0

테마가 Theme.AppCompat에서 확장되는지 어떻게 알 수 있습니까? 또한 AppCompat를 사용하기위한 요구 사항은 무엇입니까? – Dan653

+0

일반적으로 dev는'Theme'을 정의하는 개발자이고,'AppCompat' 테마 중 하나를 부모로 사용합니다. ('parent = "@ style/Theme.AppCompat"') –