ProgramingTip

android : actionBarStyle에는 API 레벨 11이 필요합니다.

bestdevel 2020. 12. 2. 21:39
반응형

android : actionBarStyle에는 API 레벨 11이 필요합니다.


ActionBarSherlockxml을 사용하는 동안 :

<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>

이 오류가 발생했습니다.

android:actionBarStyle requires API level 11 (current min is 8) error

액션 바가있는 내 앱을 2.2 장치로 다시 포팅하는 데 사용하고 있습니다.

둘 다 함께 사용하는 방법 :

 <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
 <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>

다음 만합니다.

<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item> 

오류가 보관할 수 있으므로 android:actionBarStyleAPI 레벨 11에서 사용할 수 있습니다.


ActionBar모든 API 수준에서 동일하게 보이 도록도록 스타일 을 지정합니다. 선택한 API 수준에 대해 새 style.xml/ themes.xml파일을 만듭니다 .

예를 들면 :

- res
  -- values
     -- styles.xml
     -- themes.xml // API LEVEL 8+
 -- values-v11
     -- styles.xml
     -- themes.xml // API LEVEL 11+
 -- values-v14
     -- styles.xml
     -- themes.xml // API LEVEL 14+

두 번째로 생각할 수있는 것은 다른 API 레벨에서 현재 테마에 어떤 테마를 포함하고 있는지주의하는 것입니다.

예를 들어 API 레벨 8의 경우 @style/Theme.Sherlock.Light.DarkActionBar를 사용하고 actionBarStyle. API 레벨 14 이상에 대한 작업 표시 줄의 스타일을 지정하는 동안에는 현재 테마에 대한 부모로 테마를 actionBarStyle설정하기 때문에 필요하지 않을 것입니다. 따라서이 Holo.Light상황에서는 android:actionBarStyle.


또 다른 옵션은 네임 스페이스 tools:targetApi가 필요한 속성 을 사용하는 tools입니다. 이것은 @TargetApi자바에서 사용할 수 파일 있는 주석 과 유사한 방식으로 작동 합니다.

<resources xmlns:tools="http://schemas.android.com/tools">

<style name="MyThemes.MyTheme">
    <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
    <item name="android:actionBarStyle" tools:targetApi="11">@style/Widget.Styled.ActionBar</item>
</style>

</resources>

참고 xmlns:tools="http://schemas.android.com/tools"에서 <resources>이 필요하므로, 태그입니다.


Eclipse에서 오류를 클릭하고 "Delete"키를 선택합니다. 그런 다음 프로젝트를 실행하면 작동합니다.

XML을 제거 할 때마다 삭제됩니다.


모든하려는 SDK 버전에 따라 늘어서 있습니다.

11보다 낮은 목표 장치 :

당신의 AndroidManifest.xml사용 :

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="x" android:maxSdkVersion="10"/>

x 8-10 사이의 모든 것 (코드에 따라 다름)

스타일 사용 :

<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>

모든 장치를 대상으로 지정 :

당신의 AndroidManifest.xml사용 :

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

ActionBarSherlock예제 에서 사용 된 16 은 11보다 크거나 같을 수 있습니다 (코드에 따라 다름).

스타일에 따라 다음을 모두 사용하십시오.

<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item> 
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>

첫 번째는 ActionBarSherlock테마 용이고 두 번째는 이미 지원하는 Android 기기에서 동일한 테마를 사용하기위한 것입니다.ActionBar

편집 : Lint 경고를 지우려면 (표시 될 수있는 XML 파일의 빨간색 밑줄) :

Lint 경고 지우기

참고 URL : https://stackoverflow.com/questions/15339150/androidactionbarstyle-requires-api-level-11

반응형