예! 당신은 확실히 이것을 할 수 있습니다. 아래에 설명 된 패턴을 따르십시오. 당신의 AndroidManifest.xml
파일에서
선언 다음 (앱이 필요 무엇 이건 플랫폼 버전 대체) : API 11 이상의 플랫폼 버전을 대상으로
<!-- Build Target -->
<uses-sdk android:targetSdkVersion="14" android:minSdkVersion="7" />
, 당신은 이클립스 링크 할 수 있습니다 (컴파일) 네이티브 ActionBar 클래스와 비교합니다. 이전 버전의 최소 플랫폼 버전을 제공하면 이전 버전의 Android에 앱을 설치할 수 있습니다.
public class CompatibilityManager {
public static final String KINDLE_FIRE_MODEL = "Kindle Fire";
/**
* Get the current Android API level.
*/
public static int getSdkVersion() {
return android.os.Build.VERSION.SDK_INT;
}
/**
* Determine if the device is running API level 11 or higher.
*/
public static boolean isHoneycomb() {
return getSdkVersion() >= Build.VERSION_CODES.HONEYCOMB;
}
/**
* Determine if the device is running API level 14 or higher.
*/
public static boolean isIceCreamSandwich() {
return getSdkVersion() >= Build.VERSION_CODES.ICE_CREAM_SANDWICH;
}
/**
* Determine if the current device is a first generation Kindle Fire.
* @return true if the device model is equal to "Kindle Fire", false if otherwise.
*/
public static boolean isKindleFire() {
return Build.MODEL.equals(KINDLE_FIRE_MODEL);
}
}
또한 고려해 볼 수 있습니다 :
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (CompatibilityManager.isHoneycomb()) {
final ActionBar actionBar = getActionBar();
actionBar.setDisplayShowHomeEnabled(true);
// ...
} else {
// The ActionBar is unavailable!
// ...
}
}
CompatibilityManager.java
클래스는 단순히 SDK의 현재 버전을 결정하는 정적 도우미 메서드를 제공합니다
귀하의 활동 코드는 다음과 같이 표시한다 ActionBarSherlock 라이브러리를 활용하면 Android 2.x에 호환되는 ActionBar API를 제공합니다 :
라이브러리는 을 사용할 수 있거나 자동으로 사용자 정의 구현을 레이아웃으로 래핑 할 때 기본 동작 표시 줄을 사용합니다. 이를 통해 Android 2.x의 모든 버전에 대해 작업 표시 줄로 응용 프로그램을 쉽게 개발할 수 있습니다.
재미있게 보내십시오!
일반적인 이전 버전과의 호환성에 대한 추가 문서는 http://developer.android.com/resources/articles/backward-compatibility.html에서 찾을 수 있습니다. 작업 표시 줄 설명서에는이 내용과 기본 형식으로 사용하는 방법이 나와 있습니다 여전히 이전 버전과 호환됩니다. http://developer.android.com/guide/topics/ui/actionbar.html#Adding – cistearns
그래, 비슷한 코딩을 했어. 나는 너에게도 제안을 시도 할 것이다. 내가 발견 한 문제는 앱을 실행하려고 할 때 에뮬레이터 (Eclipse에서)가 나왔을 때 대상 레벨 장치 만 나타났습니다. 필자는 AVD 관리자를 사용하여 저레벨의 장치를 시작한 다음 실행 중일 때 특별히 사용했습니다. ActionBarSherlock을 사용하지 않기로 선택했습니다. 지금은 새로운 기기에서만이 기능을 원합니다. 나는 나중에 내 마음을 바꿀지도 모른다. 감사. –
AndroidManifest.xml에서 빌드 대상 및 최소 버전을 변경 한 후 Eclipse에 빌드 대상이 변경되었음을 알릴 필요가 있습니다. 이렇게하려면 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 '속성'을 선택하십시오.그런 다음 왼쪽 메뉴에서 'Android'를 선택하고 점검 대상이 매니페스트에 지정된 대상과 동일한 지 확인하십시오. 이 모든 것은 프로젝트 루트 디렉토리에있는'project.properties' 빌드 파일을 갱신합니다. – twaddington