This project contains example code from my Droidcon NYC talk. There are three launchers which can be independently launched to show working examples.
Note: this code is for presentation/example purposes so the more complex examples are not rigorously implemented but meant to show the relatively power of custom canvas and layout work.
This is a multi-module application project with:
- An
app
module that contains the three example launches. - A
build-logic
module that contains convention plugins for various ecosystem and other Gradle plugins used. Convention plugin logic pulls heavily from https://github.com/android/nowinandroid but with several personal modifications. - Library code modules:
imeji
contains custom Compose canvas drawing example that has a faux image croppercustom-modifier
contains a custom layout modifier by which custom logic can be reusably packaged as a modifier; this also helps to illustrate Compose Phasesschedule
contains a simple custom Compose layout example and contrasts using platform containers vs. customizing layout via a faux scheduling component
To run the examples, create run configurations for the following activities:
- app ->
rt.compose.custom.ImejiActivity
- app ->
rt.compose.custom.PolarCoordinatesActivity
- app ->
rt.compose.custom.ScheduleActivity