We may earn an affiliate commission when you visit our partners.
Course image
Vasiliy Zukanov

Learn to leverage Custom Android Views to create unique user interfaces that go beyond the standard Android components. From simple shapes to complex interactive widgets with animations, Custom Android Views can accommodate any requirement. There are truly no limits.

Benefits of Custom Views:

Read more

Learn to leverage Custom Android Views to create unique user interfaces that go beyond the standard Android components. From simple shapes to complex interactive widgets with animations, Custom Android Views can accommodate any requirement. There are truly no limits.

Benefits of Custom Views:

  • Simpler Code: Replace complex XML files and drawables with a single Custom View.

  • Reusable: Custom View's logic is encapsulated in one class, making it easily reusable in other projects.

  • Efficient: Creating a custom View can be quicker and more straightforward than working with multiple standard components.

Though a bit challenging at first, creating custom Android Views is not a rocket science. In this course, you'll learn all about Custom Views, from the basics to the most advanced concepts. Furthermore, you'll get a chance to apply your newly acquired knowledge in a set of carefully designed, hands-on exercises.

Topics covered in this course:

  • Coordinate Systems

  • Density Independent Pixels

  • Canvas and Paint

  • Line, rectangle, circle and free-form shapes

  • Text

  • User interactions

  • Animations

  • Gestures recognition

  • Matrix transformations

  • State preservation on configuration changes and process death

  • and more

By the end of this course, you'll feel completely confident using custom Views in your Android application.

So, if you want to master this versatile tool that enhances your productivity as an Android developer, enroll now and join me on this journey into the world of Custom Android Views.

Enroll now

What's inside

Learning objectives

  • Learn to use the low-level drawing apis like canvas, paint, etc.
  • Draw custom shapes using lines, rectangles, circles and paths
  • Animate the content of your custom views
  • Intercept user interactions and react to drag, scale and rotate gestures
  • Handle configuration changes and process death

Syllabus

Introduction
Tutorial Application
Course Exercises
Udemy Review System
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Teaches skills to create unique user interfaces, which allows developers to go beyond standard Android components and accommodate any requirement
Covers topics such as coordinate systems, density-independent pixels, canvas and paint, and matrix transformations, which are essential for creating custom views
Explores animations and gesture recognition, which are useful for creating interactive and engaging user experiences within custom views
Includes hands-on exercises, which allows learners to apply their knowledge and build confidence in using custom views in Android applications
Discusses state preservation on configuration changes and process death, which is important for maintaining the user experience in various scenarios
Requires learners to use Android Studio, which may require a modern computer and operating system to run effectively

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Mastering android custom views

According to learners, this course is a comprehensive guide to mastering custom Android views. Students highlight the clear explanations and practical, hands-on exercises as major strengths, making complex topics like Canvas, Paint, Matrix transformations, and gesture recognition understandable. Many feel it provides a strong foundation and gives them the confidence to create unique UIs. While some earlier reviews mentioned minor issues or desired more depth on specific topics, the overall sentiment is highly positive, particularly appreciating the instructor's teaching style and the practical application focus.
Some find the pace challenging initially.
"It moves at a decent pace, maybe a bit fast if you are completely new to drawing."
"Requires focus, but the clarity makes it manageable."
"The initial setup part was slightly fast, but slowed down for core concepts."
Recent reviews indicate content remains relevant.
"Even though it's been a while since published, the core concepts are evergreen and well explained."
"The techniques taught are fundamental to Android custom views and still highly applicable today."
"Happy to see the course content is still relevant for modern Android development."
"Didn't feel like I was learning outdated practices."
Instructor is knowledgeable and engaging.
"Excellent instructor, very knowledgeable and easy to follow."
"The instructor's pace and teaching style are great."
"He clearly knows the topic inside out."
"Engaging lectures that kept me interested throughout."
Builds solid understanding for unique UIs.
"This course gives you a solid foundation to build any custom view you can imagine."
"I now feel confident in tackling custom UI challenges."
"Provided me with the skills to move beyond standard Android components."
"Helped me understand the core mechanics of custom drawing and interaction."
Hands-on exercises reinforce learning effectively.
"The exercises are well-designed and help to solidify understanding."
"Loved the practical exercises, they made me actually apply what I learned."
"Doing the exercises after each section really helped me grasp the concepts."
"The hands-on practice was crucial for feeling confident in creating my own views."
Instructor provides clear, understandable explanations.
"The instructor explains complex topics clearly and makes them easy to understand."
"Very clear and concise explanations."
"He breaks down concepts into manageable pieces."
"I found the explanations on coordinate systems and matrix transformations particularly clear."
Covers basics to advanced custom view topics.
"It covers almost everything you need to know to create custom views from scratch."
"This course is a comprehensive guide into Android custom views."
"I have learned a lot about canvas drawing, matrix transformations, and touch handling."
"From simple shapes to complex interactive widgets, this course covers it well."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Android Custom Views Masterclass with these activities:
Review Android Fundamentals
Solidify your understanding of core Android concepts like Activities, Fragments, and Layouts to better grasp how custom views integrate into the Android ecosystem.
Show steps
  • Review the official Android documentation on Activities and Fragments.
  • Complete a basic Android tutorial focusing on UI elements.
Reading: "Android UI Development: Beginner's Guide"
Gain a deeper understanding of Android UI principles and best practices to inform your custom view design and implementation.
Show steps
  • Read the chapters related to UI components and layouts.
  • Experiment with the code examples provided in the book.
Canvas Drawing Exercises
Practice drawing basic shapes and text on a Canvas to become comfortable with the drawing API before creating more complex custom views.
Show steps
  • Create a new Android project with an empty Activity.
  • Create a custom view class that extends View.
  • Override the onDraw() method and use Canvas methods to draw shapes.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a Simple Custom Clock View
Build a functional clock view to apply your knowledge of Canvas drawing, animations, and time management.
Show steps
  • Design the clock face and hands.
  • Implement the drawing logic in the onDraw() method.
  • Use a Handler or Timer to update the clock every second.
Follow Advanced Custom View Tutorials
Explore online tutorials that demonstrate advanced custom view techniques, such as gesture recognition and complex animations.
Show steps
  • Search for tutorials on topics like custom view animations or gesture handling.
  • Follow the tutorial steps and adapt the code to your own projects.
Develop a Custom Charting Library
Create a reusable charting library with custom views to visualize data in various formats (e.g., bar charts, line graphs).
Show steps
  • Define the types of charts you want to support.
  • Create custom view classes for each chart type.
  • Implement data binding and animation features.
Contribute to an Open-Source Android Project
Contribute to an existing open-source Android project that utilizes custom views to gain experience working with real-world codebases and collaborating with other developers.
Show steps
  • Find an open-source Android project on GitHub.
  • Identify an issue related to custom views.
  • Submit a pull request with your solution.

Career center

Learners who complete Android Custom Views Masterclass will develop knowledge and skills that may be useful to these careers:
Android Developer
An Android Developer builds applications for Android devices, and this course is particularly well-suited for one who wishes to specialize in custom user interfaces. This course delves deeply into crafting custom views, which is essential for an Android Developer looking to go beyond the basic Android components. The course provides in depth training in coordinate systems, drawing, animations, and user interactions, allowing developers to create sophisticated and unique user interfaces. An Android Developer can use this course to develop a strong command over the Android UI, and learn to implement custom solutions. This course is an ideal option for Android Developers looking to improve their capabilities.
Mobile Application Developer
A Mobile Application Developer creates applications for mobile devices, and this course helps build a foundation in crafting custom user interface elements. Custom views allow developers to create unique, highly tailored user experiences beyond standard Android components. This course focuses specifically on how to build these custom views, teaching topics like coordinate systems, shapes, user interactions, and animations. By mastering the skills in this course, a mobile application developer can enhance their capabilities to present intricate and bespoke interface options, providing a competitive advantage in crafting user-centric mobile apps. The course material helps build a strong base in all aspects of developing with custom views. This course provides a path to crafting sophisticated mobile applications.
User Interface Engineer
A User Interface Engineer works on the front end of software applications, and this course is a perfect fit for a UI Engineer who wants to create compelling mobile interfaces that go beyond the usual. This course teaches how to build custom Android views, covering everything from drawing shapes on a canvas to implementing complex animations and user interactions. The depth of knowledge this course provides in areas such as coordinate systems, gestures, and state preservation makes it an ideal choice as a foundation for UI engineering work in mobile. Moreover, the hands on exercises help a user interface engineer develop a practical understanding of the concepts. A UI Engineer can greatly benefit from this practical training.
Application Developer
An Application Developer creates various kinds of software applications, and this course helps build skills in mobile interface development. While an Application Developer might work on many platforms, this course covers the development of custom user interfaces on Android. It is useful to any application developer interested in mobile development. An application developer can benefit from the in depth training provided by this course, which focuses specifically on how to build custom views. This course helps develop expertise in crafting complex and unique user interfaces on Android.
Software Engineer
A Software Engineer develops and maintains software applications, and this course may be useful to an engineer looking to deepen their understanding of user interface development on Android platforms. The course covers essential concepts for creating custom Android views, including drawing shapes, handling user interactions, and implementing animations, which can be applicable to a wide variety of software engineering challenges. By understanding such features, a software engineer could build more efficient, reusable, and visually appealing components. This course helps build a foundation in the realm of custom views on Android.
Mobile UI Designer
A Mobile UI Designer is focused on the look and feel of mobile applications, and this course may be helpful for a designer looking to understand the technical aspects involved in creating custom UI components. While a mobile UI designer focuses on the visual design and user experience, understanding the technical aspects of implementing custom views can aid in creating more feasible and innovative designs. In this course, a mobile UI designer can explore the methods needed to create custom views, particularly animation and user interaction. This course may offer valuable knowledge to one working in mobile user interface design.
Front-End Developer
A Front End Developer is responsible for the user-facing parts of applications, and this course may be a way to broaden their skills into mobile user interfaces. This course specifically covers the creation of custom views on the Android platform, which can be useful to a front end developer looking to expand their expertise into mobile UI development. While front end development often involves web-based technologies, the core concepts of custom UI component functionality, animation and user interaction covered in this course can inform development practices. This course may be useful to a front end developer wishing to work on mobile projects.
Game Developer
A Game Developer creates video games, and this course may be useful to a game developer who is interested in mobile platforms. The skills taught, such as custom view creation in Android, are useful in mobile game development for custom interface elements. The course may help a game developer craft unique user interfaces. The concepts in this course about drawing, user interaction, and animation, may be applicable to game user interface design. This course may be useful for game developers who want to expand their knowledge into mobile.
Interaction Designer
An Interaction Designer focuses on the way users interact with applications. This course may assist an interaction designer by providing insight into the technical feasibility of advanced interface elements. While an interaction designer is concerned with the user experience, learning to build custom views in android can give that designer context when planning interaction elements. Understanding the underlying system may inform the design practices of an interaction designer. This course may benefit an interaction designer through its practical approach to animations and gestures.
UX Designer
A UX Designer focuses on the user experience of applications, and this course may be useful for understanding the technical implementation of complex interfaces. While a UX Designer primarily deals with the overall user flow and interaction design, this course helps by showing how custom views are created on Android, which is useful for designing innovative interfaces. It introduces topics like touch handling, gestures, and animations, which could lead to more informed and feasible designs. Although not a core technical role, a UX Designer may find this course educational in understanding the implementation of custom interface elements. This course may be beneficial for a UX Designer who wants to be involved in the details of user interaction.
Graphics Engineer
A Graphics Engineer focuses on the development of graphics technologies, and this course may be useful to an engineer working on mobile platforms. This course teaches how to draw shapes and implement animations in Android. The course may also touch on important concepts, such as coordinate systems, that directly apply to graphics engineering. A graphics engineer may find this knowledge useful because the course delves into the details of graphics implementation. This course may be helpful to a graphics engineer who wants to work on mobile.
Technical Artist
A Technical Artist bridges the gap between art and technology in software development, and this course may be helpful for one who works on mobile applications. The course provides knowledge in creating custom visual elements in mobile. This would allow a technical artist to inform the design process and help implement art into mobile software. This course may be beneficial to a technical artist working on Android applications. It may be a way for a technical artist to better understand the challenges in mobile design.
Technical Lead
A Technical Lead manages software development teams and projects, and this course may help a technical lead better understand the Android development process. Though this course is not directly about technical management, it provides deep insight into the intricacies of creating custom views in Android. This would help a technical lead understand how to best manage a team developing complex user interfaces, and make decisions based on expertise. Through this course, the technical lead can gain an understanding of the challenges in mobile development. This course may provide insight into the development process.
Software Architect
A Software Architect designs the high-level structure of software systems, and this course may be helpful for one who works with mobile platforms. While not a direct practice for a Software Architect, this course offers insight into the construction of user interfaces using custom Android views. It covers topics that could inform software architecture decisions, such as modularity, reusability, and performance. This course may be useful for a software architect seeking to gain a deeper understanding of the development process for mobile applications. This may be useful for technical leadership roles.
Embedded Systems Engineer
An Embedded Systems Engineer works with specialized computer systems, and this course is mostly unrelated as it focuses on mobile applications. While an embedded systems engineer may work with various hardware platforms, this course focuses on user interface design for Android mobile devices. The course content is unlikely to be relevant to the tasks of an embedded systems engineer. This course does not help an embedded systems engineer.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Android Custom Views Masterclass.
Provides a solid foundation in Android UI development, covering essential concepts and techniques. It's particularly helpful for understanding how standard UI components work before diving into custom views. The book offers practical examples and step-by-step instructions, making it a valuable resource for beginners. While not specifically focused on custom views, it provides the necessary context for understanding their role in Android UI development.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser