0,0
рейтинг
1 января 2013 в 00:11

Разработка → Зимняя сказка в вашем Android'e

Java*
«Часто по ночам пролетает Снежная королева по городским улицам и заглядывает в окошки, вот от того-то и покрываются они морозными узорами, словно цветами.»




Так начинается знаменитая зимняя сказка, которую я недавно читал, закутавшись в теплый плед, аккурат в католический сочельник. Идея, в последствии посетившая меня, как оказалось уже была кое-кем кое-как реализована. И все же захотелось сделать что-то, чем можно будет порадовать ребенка на Новый 2013й, раз уж феерверки на конец света приказали долго жить.

Посему, представляю вашему вниманию Frosty Touch:





С разработческой точки зрения, тут все, казалось бы, просто. Есть 2 канваса, на которых рисуется картинка оригинала и второй с эффектом. Эффект же представляет из себя несколько картинок-слоев, которые необходимы для создания более красивой протирки, чем ту, что мы получим в тупую изменяя значение альфа канала. Так вот, сперва я подумал, что рисовать сразу по трем слоям, изменяя альфу каждого в разной степени будет сложновато, т.к java андроид не слишком шутро себя может повести. Тем не менее, после проведения должной оптимизации я смог добиться не только непрерывной линии, а рисования «кружочками», как это делают многие «конкуренты», а и неплохой скорости работы. Если будут вопросы, с радостью отвечу, пишите!

Надеюсь приложение доставит удовольствие даже тем, кто на юге, и у кого сейчас ни снег, а сплошной гололед :)

С Наступающим, а для кого-то с уже Наступившим, милый сердцу Хабр!
Артем Гандзиошин @Lonkly
карма
0,0
рейтинг 0,0
iOS Developer

Самое читаемое Разработка

Комментарии (17)

  • 0
    ZTE Libra (ARMv6) — приложение несовместимо с вашим устройством. Из-за АРМ6?

    >>проведения должной оптимизации
    вот здесь можно подробнее? Т.е. Вы хотите сказать что платформа (андроид) на джаве — ещё не всё потеряно?
    • 0
      Скорее потому, что 4.0+ требуется андроид. ARMv6 он везде стоит, за исключением интеловских девайсов.

      >> ещё не всё потеряно?

      Боюсь что так. Я захотел использовать именно средства из коробки, хотя, безусловно, тормозов было бы меньше на OpenGL. Канвас работает медленнее, но не в 2 раза, как было когда-то. Ну и в конце концов: еще бы оно мне тормозило на 4х-ядерных процессорах то…
      Вот некоторые пользователи жалуются, что таки тормозит, если взять фотку очень большого разрешения. Попробую исправить :)
      • +1
        Хм, а почему именно 4.0+, Вы что — используете функции API, которых нет в 2.3+?
        • 0
          Соглашусь с автором. Совсем не хочется городить огород, когда есть стандартные компоненты, которые нормально выглядят и работают. Сравните внешний вид views на 2.3 и 4.0.
          • +1
            простите, хоть убейте не вижу, что такого автора использовал из 4, чего нету 2.3.
            • 0
              Автор использовал стандартные компоненты. А они под 2.3 выглядят… отвратительно. Чтобы получить везде одинаковый вид, надо тащить какие-то сторонние.
              • 0
                Сударь прав, У меня всего 5 дней было, я ведь написал про сочельник не для красоты :) Сделаю, конечно, для 2.2, если пойдет.
                И еще одна вещь — андроид и правда вещь тормозная, а тут куча тяжелой графики, так что на старых девайсах было бы полно плохих отзывов.
                В общем, цель оправдывает средства, как мне кажется.
              • 0
                а можно поконкретнее, все равно не понимаю, о чем вы, какие бы компоненты выглядели бы не так?
                • 0
                  • 0
                    Прости, всеравно вас не совсем понял, вы про actionbar? Если да, то sherlock подключается за пару минут, с учетом того, что автор и так включил одну из библиотек JakeWharton — ViewpagerIndicator, плюс кастомную библиотеку для бокового меню, плюс использовал viewpager из support package.
                    • 0
                      Я же говорю, основная причина не выпуска под 2.2 — девайсы 2.2. Как я уже сказал, оптимизация под «старые» девайсы потребовала бы больше времени. А времени у меня было ровно 4 дня :)

                      P.S: Как вы хорошо разобрались в сорцах :)
                      • 0
                        Тогда понятно, просто товарищ выше говорил тут про внешний вид views, что вообще тут роли не играет)

                        P.S: да не разбирался, так глянул мельком, что же там такого могло использоваться, ничего не увидел, поэтому и уточнял :)
                        PS2: многие старые девайсы можно было просто в консоле разработчика выключить, а остальным дать жить, но хозяин барин)
                        • 0
                          Уже добавил 2.2, пользуйтесь :)
                          • 0
                            спасибо, но я мимо проходил, да и 4ка у меня)
  • 0
    А что за черные полосы, при повороте экрана с фоткой?
  • 0
    а где QR-код?
    Иногда так лень вбивать длинную ссылку на программу или адрес этой странички на хабре…
    • 0
      ловите:
      image

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.