Pull to refresh

Comments 26

UFO just landed and posted this here
При создании приложения не всегда можно с легкостью отказаться от 1/8 потенциальной аудитории (тех, у которых android версии < 4.0).
пусть выкинут свой калькулятор)
Они скорее приложение выкинут. С чего вдруг они должны выкидывать рабочий и вполне устраивающий их телефон?
Ради этих 10% людей никто не будет заниматься геморроем. Пусть выбрасывают приложение. Этих людей мало и их не жалко потерять.
Спустя столько времени поделюсь уведенным недавно комментарием на PlayMarket. Пользователь оставил приложению 1 за то, что оно не поддерживает 2.3. Видимо у него есть еще одно устройство с более актуальной версией Android, на которое он поставил приложение и поставил приложению оценку.
К моему удивлению телефоны с Android 2.3 еще продаются — позавчера держал в руках новый BQ Delhi Orange с Android 2.3.6. Под батарей дата производства — ноябрь 2014.
UFO just landed and posted this here
Очень даже можно, если приложение пишется с нуля. Если приложение уже адаптировано под 2.3, то выбрасывать конечно нет смысла.
Есть подозрение, что человек юзающий 2.2 Android до сих пор не очень-то увлекается новинками, и скорее всего использует свой смартфон As Is, и даже может быть не подключен к маркету :) Сам знаком с несколькими такими — часто это люди пожилого и предпожилого возраста, которым пофиг на модные фишки и все такое. Считаю что сейчас достаточно поддерживать устройства начиная с Ice Cream, а может и с Billie Jean Jelly Bean
Как показывает практика, пользователей 2.х хоть и 15%, но они намного менее активны в плане пользования приложениями и вообще интернетом с телефона. Все самые активные уже давно перешли на более нормальные версии. И, да, отсутствие нативных фрагментов, аниматоров и аппаратного ускорения — боль.
Я ещё год назад считал, что 2.3 ещё можно поддерживать.
Сейчас уже дико сомневаюсь — аудитория не такая уж большая, а проблем с поддержкой выше крыши…
Главное в другом: 2.3 сейчас ставится только на супербюджетные андроиды. То есть их покупают люди либо жадные, либо бедные, либо те, кому нужен телефон, а не смартфон. В любом случае заработать на них не удастся ну никак. Тогда зачем тратить время и силы?
Тут чуууть чуть поспорю: приложения порой делаются и бесплатные, для продвижения бренда и т.п. И человек, экономящий на телефоне, не факт что не сможет стать пользователем вашего основного продукта-товара. Другое дело что да, год-два назад android 2.3 можно было встретить и на средних моделях, а не только бюджетных. Сегодня же да, на него наткнуться куда сложнее.
К сожалению, сейчас говнофонов за 3000р и с 4+ Android стало предостаточно.
И да, гемороя эти пользователи доставляют 90% и колы только в путь ставят в рейтинг.
Я бы многое отдал за фильтр не по версии, в по цене в Google Play.
В статье упущен момент, что боковое меню должно быть доступно из всех активностей приложения и при нажатиях в нем, должно очищать стэк активностей. Что можете посоветовать для удобной реализации такого требования?

По поводу вкладок в ActionBar: в последней версии Hangouts боковое меню как раз вылезает ниже вкладок. С другой стороны, на скриншотах из документации по Material Design боковое меню навигации вылезает поверх ActionBar.
Что можете посоветовать для удобной реализации такого требования?


Запускайте новую активити из меню с соотв. флагом для очистки стека.
Если пользуетесь одной активити и фрагментами — чистите стек сами через FragmentManager
По поводу бокового меню: судя по всему Material Design в основном расчитан на Android L. Это можно проследить в их приложении для конференции Google I/O. Если запустить это приложение на устройствах с Android L, то Action Bar вылезает поверх ActionBar, а если запустить на Android <L (или отключив тему Material), то navigation drawer выглядит как обычно, снизу Action Bar.
Обещали поддержку в support library вплоть до 7 версии.
меню должно быть доступно из всех активностей приложения


Не из всех.
Только там, где это логично.
Посмотрите тот же экран настроек в Google Play.
Хотелось бы добавить, что при листании «тяжелых» фрагментов c помощью NavigationDrawer, анимация закрытия последнего может немного подлагивать, что портит впечатление от приложения. Для себя я эту проблему решил следующим образом:

private void selectItem(final int position) {
    mDrawer.closeDrawer();
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            Fragment fragment = new myFragment();
            Bundle args = new Bundle();
            fragment.setArguments(args);

            FragmentManager fragmentManager = getSupportFragmentManager();
            fragmentManager.beginTransaction().replace(R.id.content).commit();

        }
    }, 250);
}


То есть сначала закрываем навигацию, а потом меняем фрагмент. Как по мне это выглядит намного лучше.
Не лучший совет.
Поддрагивает анимация потому, что отрисовка нового экрана/элемента меню происходит не мгновенно.
(от 50 до 300 мс). В вашем случае вы опытным путем нашли для себя 250мс.
В первую очередь надо оптимизировать это.

Если никак не выходит, то использовать события открытия/закрытия меню,
чтобы анимация не накладывалась на пересчеты лейаутов.

public void onDrawerClosed(View view) {
}
public void onDrawerOpened(View view) {
}


Немного непонятно зачем статья. Начинающему легче поставить Android Studio и сгенерить уже готовый Activity с Navigation drawer, а как потом добавить SlidingTabLayout и ViewPager можно и в интернетах почитать. И кстати, вместо ListView я бы лучше сделал FrameLayout, в который бы пихал NavigationDrawerFragment, так как можно в этот фрагмент отдельную логику вынести.
Начинающий начнет гуглить боковое меню и вкладки, и вообще не узнает про SlidingTabLayout. Даешь больше «правильных» связок подходов и компонентов на хабре!
Новый шаблон Navigation Drawer Activity в Android Studio появился только в версии 0.5.6. Очень радует, что студия активно развивается, становится стабильней, получает новые шаблоны и функционал. Но не каждый начинающий разработчик, сможет увидеть у себя в студии этот шаблон, если он конечно не обновил студию если не до последней версии, то до 0.5.6. И ведь Eclipse ещё пользуется популярностью имея богатый функционал и множество подключаемых модулей.
На сайте сейчас Android Studio 0.8.6 и думаю есть очень большая вероятность, что именно со студии сейчас многие начинают. Ну а то, что не увидит — там тяжело не увидеть, при создании проекта или активити тебе все предлагается.
Sign up to leave a comment.

Articles