>

응용 프로그램이 설치된 SDK 버전에 따라 다른 테마를 사용하는 방법이 있습니까?

내가 묻는 이유는 SDK 버전 8로 다시 지원하기를 원하지만 ICS 사용자에게는 ICS의 디자인 표준을 따르고 Holo 테마를 사용할 수 있기를 원하기 때문입니다.

Android의 다른 버전에 대해 다른 레이아웃을 프로그래밍 할 수 있습니다 테마 값을 재정의하기 위해 theme.xml을 갖는 폴더 values-v14를 가질 수 있습니다. 그러나 Theme.Holo를 참조하면 컴파일되지 않습니다. 내 AndroidManifest.xml에 다음이 있기 때문이라고 생각합니다.

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

어떤 포인터라도 대단히 감사하겠습니다.

업데이트 :- OK 그래서 여기 내 파일이 있습니다 :- AndroidManifest.xml :

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:name=".Refunder"
    android:theme="@style/MainTheme"
    >

res/values ​​/ themes.xml :

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MainTheme" parent="@android:style/Theme.Light.NoTitleBar">
        <item name="android:typeface">normal</item>
        <item name="android:textSize">15sp</item>
    </style>
</resources>

res/values-v11/themes.xml :

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MainTheme" parent="@android:style/Theme.Holo">
        <item name="android:typeface">normal</item>
        <item name="android:textSize">15sp</item>
    </style>
</resources>

이 글은 내가 읽은 기사에 따릅니다 :- http : //android-developers.blogspot.com/2012/01/holo-everywhere.html

이 작업을 수행하면 Eclipse에서 다음과 같은 컴파일 오류가 발생합니다 .-

error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Theme.Holo'


  • 답변 # 1

    값 -v14 폴더로 수행중인 작업이 정확합니다. 컴파일 할 수 있도록 Build Target 만 변경하면됩니다. (프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하고 Android를 선택하고 Android 14 이상을 선택하십시오)

    이전 버전의 Android에서 사용하는 경우 강제 종료가 발생하므로 android : minSdkVersion보다 큰 기능을 사용하지 마십시오.

관련 자료

  • 이전 버튼에 ID가없는 경우 Selenium을 사용하여 버튼을 누르거나 클릭하는 방법은 무엇입니까?
  • 다음 c# - ASPNET MVC 6에서 MVC Controller와 Web API Controller의 차이점은 무엇입니까?