DrawerLayout: панели справа и слева одновременно

В недавней статье про DrawerLayout была мельком упомянута возможность сделать сразу две выезжающие панели — справа и слева, по образу и подобию клиента Google+ и ряда других приложений.

Правая панель в Google+
Правая панель в Google+

В качестве финальной, третьей части цикла статей (вторая часть была про скрещивание DrawerLayout и ActionBarSherlock) мы попробуем повторить в точности такое же поведение двух разных панелей на экране.

Читать далее

DrawerLayout и ActionBarSherlock: скрестить ужа и ежа

Многие знают, что у проекта ActionBarSherlock некоторое время назад появился официальный конкурент от Google: 18-я версия Android Support Library среди прочих плюшек принесла и долгожданный ActionBar в режиме совместимости.

Похоже, под закат линейки 2.x Корпорация Добра всё-таки признала необходимость хоть какого-то единообразия внешнего вида приложений; раньше официальная позиция фактически сводилась к требованию писать две программы, с action bar-ом и без него. Естественно, Шерлок на фоне такого маразма быстро взлетел в топы используемых библиотек, а его автор, — Jake Wharton, — стал широко известным в узких кругах человеком. Но есть ли смысл отказываться от ActionBarSherlock сейчас?

Нет. Нет смысла.

Читать далее

Долой _blank!

До недавнего момента я старательно проставлял у ссылок атрибут target="_blank", открывающий такую ссылку по умолчанию в новой вкладке. Теперь же, обдумав своё поведение, использовать этот атрибут более не буду, и постараюсь постепенно удалить его из всех имеющихся записей.

Дело в том, что блог мой (очевидно) предназначен совсем не для новичков в IT, и уж тем более — в этих наших интернетах. А люди с каким-никаких опытом уже категорически не любят, когда что-то решается за них.

Я открою страницу в новой вкладке, если хочу открыть её в новой вкладке! Почему она открывается там всегда?! Именно такой вопрос большинство посетителей наверняка и задаст. Честно признаю: мало кого волнуют мои соображения на тему «только бы не закрывали мой маленький сайтик». Зато много кого волнует растущее число вкладок.

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

Или я ошибаюсь и вернуть как было?

UPD. Для записей, предназначенных простому пользователю, внешние ссылки всё-таки иногда делаю blank-ами. Так им удобнее.

DrawerLayout: панелька из Гугла

Похоже, Google всё серьёзнее берётся за унификацию внешнего вида и поведения приложений под Android. Нет, серьёзных репрессивных мер пока что не ожидается, но правилами Google Play с недавнего времени жёстко запрещён вносящий путаницу софт (и, хвала богам, AirPush тоже наконец-то!), а раздел Design на Android Developers регулярно пополняется новыми подробными рекомендациями. И не просто теоретическими, а подкреплёнными набором инструментов для разработчиков!

DrawerLayout в действии
DrawerLayout в действии, демо-приложение

Одним из рекомендуемых (и уже знакомых) подходов к построению интерфейса является Navigation Drawer — панелька, выезжающая сбоку по нажатию на action bar или по свайпу с края экрана. Для её реализации готовы все технические средства, и написан официальный мануал разработчика, — но, пожалуй, слишком многословный и при этом не затрагивающий ряда тонкостей. Потому здесь я попробую исправить этот недочёт.

Читать далее

Главное — не чихать! GDG DevFest 2013

Инда наступил ноябрь. Засупонилось красно солнышко, заталдыкнуло лучи свои обратно, откуда взялись… В стране наступил День Народного Единства, в младших классах школ — каникулы, а у разработчиков — GDG DevFest 2013.

Плакат в фойе
Плакат в фойе

Последний пришёл практически столь же внезапно, как на коммунальные службы напрыгивает в декабре зима: письмо с оповещением свалилось в ящик за пять дней до мероприятия, а если бы я не оставил когда-то свой адрес на GDG DevFest’12 — то и не знаю, как бы догадался о его проведении. А подтверждение участия и вовсе приползло накануне в 19:00, когда многие уже начинали строить альтернативные планы на завтра. Впрочем, других вопросов по организации я не имею: в этом году всё сделано гораздо аккуратнее, чем было в предыдущем. Чего стоит одна лишь доступная в любое время кофемашина!

Читать далее

Из ирбисов в диссиденты

Наверное, мой домашний макбук нельзя показывать в приличном обществе фанатов Apple. Потому что у шестилетней «прошки», пусть и с апгрейдом памяти, очень мало шансов считаться труъ-моделью. Но — что поделать, надёжность и удобство этого девайса таковы, что купить новый я себя категорически не могу заставить.

Не в том смысле, что новые хуже. В том смысле — и этот ещё хорош. Я ведь не играю в игрушки, равно как не работаю с графикой и видео, даже не храню терабайты контента сомнительной легальности — ну и какой мне назначить приоритет для затрат на новую числодробилку? Правильно: сразу после роботизированной чесалки для спины, а то напрягать каждый раз супругу как-то уже совестно.

С другой стороны — работа на iMac-ах приучает к фишечкам свежих версий MacOS, а ноутбук до сих пор живёт на 10.6 (Snow Leopard, он же снежный барс, он же ирбис). И когда в Apple сделали ход конём и бесплатно выпустили OSX 10.9 (Mavericks, одно из значений maverick — инакомыслящий, он же диссидент), да ещё и заявили о совместимости вплоть до моделей 2007 года, то можно ли было устоять? Никак нет! Было решено добить старикана современной версией операционки, чем и создать себе повод для покупки новой модели.

Читать далее

План побега, он же Escape Plan

Прошлым воскресеньем засмотрели свежую фильму под названием «Escape Plan». Именно так — Escape Plan, потому что фильм смотрели в оригинале, с субтитрами.

Официальный постер
Официальный постер

По итогам просмотра вновь горестно подтверждаю старую истину: наши упоротые надмозги, слившиеся в творческом экстазе с нашими гнусавыми дубляторами, способны испоганить абсолютно любой продукт. И рецензии на обозревательских сайтах это подтверждают: читаю я отрицательные отзывы  — и отчётливо понимаю, что люди смотрели совершенно другое кино. Даже подозреваю, какое именно: субтитры ведь наверняка взяты из той самой «локализованной» дубляжной версии, которую увидит большинство зрителей.

Читать далее

Три мудреца в одном ТАЗу

Дефектов сборки нами замечено не было. Но есть конструктивные недочёты, самый заметный из которых — хлипкое крепление блока управления стеклоподъёмниками (хорошо виден на водительской двери). Стоит порезче потянуть клавишу, как блок мгновенно выскакивает из гнезда. Непорядок!

Тест-драйв новой «Калины»

И правда, конструктивный недочёт.

Тянешь стеклоподъёмник, а он остаётся в руке вместе со всем блоком.

Помню, в выставочной «Приоре» мне в руки доверчиво прыгнул дефлектор отопителя, стоило только к нему прикоснуться. А в багажнике валялась некая пластмасска, по всей видимости — то ли откуда-то отлетевшая ранее, то ли наоборот, так никуда и не приделанная.

Продано уже более двух миллионов экземпляров
Продано уже более двух миллионов экземпляров

Читать далее

Android: повернуть картинку через XML

Иногда в Android-проекте требуется иметь несколько версий одной и той же картинки, но с поворотом на определённый угол. Скажем, речь может идти об указывающих на что-то стрелках, «хвостиках» контекстных balloon-ов, градиентных границах и тому подобной графике.

Конечно, требования к некоторым картинкам бывают таковы, что дизайнеру приходится вращать их вручную, дорисовывая недостающие детали. Но если кроме угла поворота никаких отличий нет, то плодить много графических ресурсов попросту неразумно: растёт размер .apk, усложняется внесение изменений, да ещё и нарушается принцип «работать должна машина»… в общем, неудивительно что подобные сценарии учтены в Android с самых первых версий, и мы можем со спокойной совестью пользоваться уже готовым инструментом. Например, на скриншоте ниже использовано только одно растровое изображение оранжевой стрелочки — то, что в заголовке. Остальные варианты получены через xml drawables, без единой строчки java-кода!

Поворот одной и той же картинки на разные углы
Поворот одной и той же картинки на разные углы

Читать далее

Поиск расписаний

Уважаемые москвичи и гости столицы! Именно так начинают объявления в общественном транспорте, верно?

Многие из вас пользуются (а кто не пользуется — возможно, начнёт) вот этим поиском расписаний общественного транспорта г. Москвы:

Поисковик расписаний на mosgortrans.org
Поисковик расписаний на mosgortrans.org

Я знаю, что как минимум несколько транспортных сайтов втихаря встраивает этот поисковик в свои страницы через iframe, потому адрес в строке браузера может отличаться, но если видите такой (или вот такой) интерфейс — не сомневайтесь, это оно!

Позвольте сказать пару слов и прояснить несколько пикантных моментов.

Читать далее