Продолжение, первую часть читайте здесь.
Смена темы приложения
Fba (в текущей версии 1.0.1) поставляется с двумя предопределенными темами «темная» и «светлая», по умолчанию генератор для новых проектов выставляет светлую тему, сменить ее на темную очень просто.
Откройте файл values\styles.xml и исправьте
1 | <style name="AppTheme" parent="AppBaseTheme.Light"> |
<style name="AppTheme" parent="AppBaseTheme.Light">
На
1 | <style name="AppTheme" parent="AppBaseTheme"> |
<style name="AppTheme" parent="AppBaseTheme">
Запустите приложение и вы увидите результат:
И, естественно, вы можете настроить свою тему, но об этом как-нибудь позже.
Улучшаем функциональность приложения
Давайте так же изменим выборку задач, будем отображать пользователю только незавершённые задачи с сортировкой по сроку исполнения.
Следующий код:
1 2 | // выбрать все задачи из локальной базы данных List<ExTableTasks> data = dao.select(); |
// выбрать все задачи из локальной базы данных List<ExTableTasks> data = dao.select();
Заменить на:
1 2 3 4 5 6 | // фильтр: выбрать только незавершенные задачи HashMap<String,Object> mapFilter = new HashMap<String, Object>(); mapFilter.put(ExTableTasks.FIELD_NAME_COMPLETE, false); //Выбрать с учетом фильтрации и сортировки по сроку исполнения List<ExTableTasks> data = dao.select(mapFilter, ExTableTasks.FIELD_NAME_DEADLINE); |
// фильтр: выбрать только незавершенные задачи HashMap<String,Object> mapFilter = new HashMap<String, Object>(); mapFilter.put(ExTableTasks.FIELD_NAME_COMPLETE, false); //Выбрать с учетом фильтрации и сортировки по сроку исполнения List<ExTableTasks> data = dao.select(mapFilter, ExTableTasks.FIELD_NAME_DEADLINE);
Чтобы показать один простой пример форматирования значений в списках, давайте изменим форматирование даты – не будем показывать год и время.
Замените создание адаптера:
1 2 3 | // создать адаптер для отображения данных таблицы MetaArrayAdapter<ExTableTasks> adapter = new MetaArrayAdapter<ExTableTasks>( this, ExTableTasks.class, data, R.layout.list_item, from, to); |
// создать адаптер для отображения данных таблицы MetaArrayAdapter<ExTableTasks> adapter = new MetaArrayAdapter<ExTableTasks>( this, ExTableTasks.class, data, R.layout.list_item, from, to);
на следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 | // Форматер значений: установим свой только для дат, которые со временем // – будут показаны с отсечением времени и года FieldFormatter ff = new FieldFormatter.Builder() .setDateTimeFormat("dd MMMM").create(); //Создадим построитель View и назначим ему наш форматер MetaAdapterViewBinder metaBinder = new MetaAdapterViewBinder(this, ExTableTasks.class, from, to); metaBinder.setFieldFormatter(ff); // создать адаптер для отображения данных таблицы MetaArrayAdapter<ExTableTasks> adapter = new MetaArrayAdapter<ExTableTasks>( data, R.layout.list_item, metaBinder); |
// Форматер значений: установим свой только для дат, которые со временем // – будут показаны с отсечением времени и года FieldFormatter ff = new FieldFormatter.Builder() .setDateTimeFormat("dd MMMM").create(); //Создадим построитель View и назначим ему наш форматер MetaAdapterViewBinder metaBinder = new MetaAdapterViewBinder(this, ExTableTasks.class, from, to); metaBinder.setFieldFormatter(ff); // создать адаптер для отображения данных таблицы MetaArrayAdapter<ExTableTasks> adapter = new MetaArrayAdapter<ExTableTasks>( data, R.layout.list_item, metaBinder);
Результат вы видите на следующей картинке: