In this chapter, we've seen how to add interactions to a 3D custom view to make it interactive. In addition, we've seen how to use a scroller instance to manage both scroll and fling gestures and how to render text as a texture and use different geometry with different Buffers and different Shaders. At the end, we've also seen how we can easily generate geometry to make our custom view adaptable and dynamic.
In this book, we've seen how to build different kinds of custom views and to use both methods and classes from the Android SDK or to use our own, depending on our needs. We've also seen how to build both 2D and 3D custom views and to make them reactive to user input. At the end of the day, using all the APIs we've shown and a lot of creativity we can build any custom view we want. We still have to keep in mind that Android provides us with a great framework that is constantly evolving and contains plenty of good, and efficient, ways of drawing awesome UIs, but sometimes we want to build something special that we can't easily make using the standard APIs.
To learn even more about building Android UIs and custom views, there are plenty of tutorials on development blogs, several open sourced open views, and many sessions at meetups and conferences. Attending local meetups and conferences is a great way to not only learn about custom views, but also to stay up-to-date with Android development. There are many initiatives led by the Android community and I'd really like to encourage anyone to contribute in any way they can to keep the Android community alive and as awesome as it is.