A Checklist app with lot of options to customoze. Color and format each task item and checklist. Multiple theme options.
Room Database with RecyclerView to display. Open an activity from the FloatingButton to add a task
- Nested and expandable recycler view
- Toggle the visibility of subtasks when the item card view is clicked
- Toggle the checkbox status (checked/ not checked) when it is clicked
- Update the checkbox status and the subtasks visibility (is the card view expanded or not) in the DB so the status persists when the app is closed and opened again.
dev_ver_1.2_recording.webm
dev_ver_1.3_recording.webm
- Subtasks also can be marked as completed. Their status also will persist by updating to DB
dev_ver_2_recording.webm
In Settings, there is an option to change the theme of the app. User can select one of the themes from a DialogFragment window that has a recycler view with the available Themes. On selecting a theme, a sample of the theme is displayed on the dialog fragment window by changing the various views like a sample status bar, tool bar and a margin to the colors of the theme.
dev_ver_3_theme_changing.webm
From the previous versions where MainActivity was displaying Tasks, in this version MainActivity is modified to display checklists. Tasks belong inside checklists. When a checklist is clicked, the tasks in that checklist will be displayed. Following are the important changes made:
- Task database table modified to have a "parent_checklist_id" column/variable
- Created Checklist database table and wrote methods for query, insert, update and delete for it
- Added TasksWithSubtasks query to return only entries matching an input "parent_checklist_id"
- Created ChecklistActivity and layout to display tasks in each checklist, fill them with the contents of MainActivity and its layout
- Modify MainActivity to display RecyclerView of Checklists and edit text to create new checklist
- Add click listenerr to open Checklist Activity when a checklist item is clicked. Query DB & display tasks belonging to the selected checklist
Background and text color changing options. ColorPicker is used for color selection.