Ответ 1
Да! Вы можете это сделать. Попробуйте выполнить шаблон, описанный ниже.
В вашем файле AndroidManifest.xml
объявите следующее (заменяя версии платформы тем, что требует ваше приложение):
<!-- Build Target -->
<uses-sdk android:targetSdkVersion="14" android:minSdkVersion="7" />
Ориентируясь на версию платформы API 11 или выше, вы разрешаете Eclipse связывать (компилировать) с родными классами ActionBar. Предоставление более ранней версии минимальной платформы позволяет вашему приложению быть установленным (запущенным) в более старых версиях Android.
Ваш код активности должен выглядеть примерно так:
@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:
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);
}
}
Вы также можете рассмотреть возможность использования библиотеки ActionBarSherlock, которая обеспечивает совместимый API ActionBar вплоть до Android 2.x:
Библиотека автоматически будет использовать собственную панель действий, когда доступно или будет автоматически завершать пользовательскую реализацию вокруг ваши макеты. Это позволяет легко разрабатывать приложение с помощью панель действий для каждой версии Android обратно через 2.x.
Удачи!