ФРАГМЕНТИ І багатоплатформності ПІДТРИМКА – програмування Android

&nbsp

Тепер, коли ви вже написали трохи коду для Android, ви знаєте, що Activity, View і підкласи View, що відповідають за макет і віджети, – це одні з найважливіших класів Android Як правило, користувальницький інтерфейс створюється з віджетів, організованих в макети, наприклад ListView в LinearLayout Єдина ієрархія обєктів виду завантажується з ресурсу (або створюється кодом) при запуску Activity Вона ініціалізується і відображається на екрані пристрою

На невеликих екранах все нормально: користувачі переходять з екрану на екран, щоб потрапити в різні частини графічного інтерфейсу програми, а клас Activity (активність так в Android розуміється концепція завдання) підтримує стек переходів назад (back stack), який забезпечує швидке і інтуїтивно зрозуміле переміщення по інтерфейсу, що має строгу деревоподібну структуру Однак ситуація докорінно змінюється, якщо ми говоримо про широкому екрані планшета Вміст в одних частинах екрану залишається незмінним довше, ніж в інших Вміст деяких частин екрану може впливати на вміст інших частин

Цілком реально створювати такі користувальницькі інтерфейси, в яких окремі частини екрану змінюються у відповідь на дії в інших частинах екрану Зміна відбувається шляхом звичайного відображення нових видів і приховання старих Але розробники Android вирішили, що звичайної угоди буде недостатньо, щоб стимулювати створення чудових широкоекранних користувальницьких інтерфейсів, що володіють однаковим зовнішнім виглядом і поведінкою Щоб просувати такі нові варіанти взаємодії, були реалізовані деякі функції, засновані на класі Fragment, що входить в комплект для розробки ПЗ Android 30 (API 11, Honeycomb)

Обєкт Fragment поєднує риси виду View і активності Activity Подібно View, він може входити до складу ViewGroup або бути частиною макета сторінки Але фрагмент не є підкласом View, і додати його в ViewGroup можна тільки за допомогою FragmentTransaction Подібно Activity, фрагмент володіє життєвим циклом, який реалізує інтерфейси ComponentCallbacks і ContextMenuListener Але на відміну від активності у фрагмента немає контексту (Context), і його життєвий цикл залежить від контексту тієї активності, до якої цей фрагмент відноситься

Фрагменти – це основне нововведення в API Android Щоб спростити перехід на новий API, Google надає бібліотеку забезпечення сумісності, яка підтримує такі функції аж до версії SDK 20 (API 5, Eclair)

Трохи нижче ми розглянемо проблему зворотної сумісності Але спочатку познайомимося з фрагментами в їх нативному оточенні – Honeycomb

Джерело: Android Програмування на Java для нового покоління мобільних пристроїв

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*