Подтвердить что ты не робот

Всегда используйте v4 Fragments вместо встроенного android.app.Fragment?

Я наткнулся на ViewPager и связанный FragmentPagerAdaptor, которые не являются частью обычных пакетов Android, но доступны только в пакете поддержки V4. Кажется, я не могу использовать FragmentPagerAdaptor с android.app.Fragment, так как FragmentPagerAdaptor требует создания экземпляра v4 FragmentManager. Чтение Разница между Activity и FragmentActivity, похоже, выравнивается - используйте либо фрагменты v4, либо связанные классы, либо обычные android.app.Fragments. Никогда не смешивайте.

Принимая это, я не вижу необходимости использовать обычные файлы android.app.Fragments вообще, поскольку они менее эффективны, чем пакеты поддержки v4. (Cite из другого вопроса: Пакет поддержки Android предназначен не только для поддержки новых API-интерфейсов. Это также для других классов, которые по какой-либо причине не добавляются в SDK, такие как ViewPager и его поддерживающие классы.). "Единственный" недостаток, который я могу придумать, заключается в том, что библиотеки поддержки v4 связаны с APK, что означает, что мое приложение займет больше места.

Правильно ли я заключаю, что я всегда должен использовать библиотеки поддержки v4 для фрагментов, поскольку они включают больше функциональности? (И они обратно совместимы, чтобы не забывать.)

4b9b3361

Ответ 1

Я просто понял, что можно использовать android.app.Fragment и android.support.v4.view.ViewPager вместе... Если вы используете android.support.v13.app.FragmentPagerAdapter... Поэтому кажется, что пакет поддержки v13 решает/улучшает проблемы совместимости между android.app.Fragment и android.support.v4.view.ViewPager. Какой беспорядок.

В то время как это решает конкретный пример, который я придумал, мне все еще интересно, всегда ли лучший вариант использовать классы v4, когда они доступны, а не встроенные классы (например, android. app.Fragment), даже если меня беспокоит только ICS и более новые устройства?

Ответ 2

В плане обратной совместимости, действительно, использование версии пакета поддержки v4 - лучший подход.

По мере того, как сдвиг устройств приближается к операционным системам, у которых есть встроенные функции, вероятно, станет проще использовать версию SDK, так как все функциональные возможности, содержащиеся в пакете поддержки, будут включены в SDK.

На данный момент, придерживайтесь версии v4, чтобы предлагать поддержку для 2.2/2.3 устройств, которые по-прежнему содержат значительную долю пирога Android-устройства