Android Apps with Kotlin: Resources, Styles, and Themes
Intuitive UI and a seamless user experience is the first impression that an app leaves on the user. This course will teach you the basics of how to style an app, apply themes, manage resources, and handle configuration changes using Kotlin.
What you'll learn
At the core of modern mobile applications is a thorough knowledge of how to manage resources, style user interfaces, and apply themes to applications. In this course, Android Apps with Kotlin: Resources, Styles, and Themes, you'll learn how to provide an intuitive user interface and seamless user experience. First, you'll learn how to apply styles and themes to your app that represent your brand. Then, you'll explore how to manage different resources in Android such as graphics, texts, layouts, supporting multiple languages, and making resources compatible across multiple screen densities and size configurations. Finally, you'll see how to handle configuration changes in Android and provide stability to your application. When you're finished with this course, you'll have a foundational knowledge of managing resources, styling Views, applying themes and handling device configuration change as you move forward to develop a mobile application.
Table of contents
- Overview 1m
- The Android App Resources 6m
- Defining Styles 11m
- style vs. textAppearance 2m
- Code Snippet: Styling a View 1m
- Using Inheritance to Style View: Problem Statement 4m
- Creating Reusable Styles: Using Inheritance 8m
- Creating Styles for Commonly Used Views and ViewGroups 7m
- Using Selector: StateListDrawable 8m
- Using Selector: ColorStateList 4m
- Referencing Resources from XML 2m
- Apply Styles to NoteKeeper App 6m
- Summary 2m
- Overview 2m
- How to Apply a Theme, Along with Its Importance 7m
- Customize Theme Colors Using Theme Editor 9m
- Selecting the Most Suitable Variant of the Theme 7m
- Applying Styles Application Wide 3m
- Styles vs. Themes: Comparison 1m
- Maintaining Compatibility with Lower Android Versions 8m
- Applying Version Specific Styles and Features 9m
- Code Cleanup and Summary 5m
- Overview 1m
- Understanding Localization and Its Importance 5m
- Using Resource Qualifiers to Localize the App 2m
- Removing Hardcoded Strings 4m
- Creating Values Resource Directory for Different Locales 9m
- Verifying the App 4m
- Access String Resource from Kotlin Files 4m
- Importance of Default Resources 2m
- Localizing Other Resources: Graphics and Media 6m
- Localizing NoteKeeper App 5m
- Providing Support for Right-to-left Locales 5m
- Summary 1m
- Overview 2m
- Exploring Drawable Resources 3m
- Exploring Fundamentals of Multiple Screen Densities 7m
- Using Drawables for Multiple Screen Density Devices 4m
- Making Drawables Compatible Across Different Screen Densities 7m
- Raster vs. Vector Drawable 3m
- Using Vector Drawable 7m
- Adaptive Launcher Icon and Legacy Launcher Icon 6m
- Creating Launcher Icons 10m
- Summary 2m
- Overview 1m
- Supporting Multiple Device Screens 5m
- Designing Layouts for Both Portrait and Landscape 8m
- Adapting UI for Tablets 4m
- Understanding sw, w, and h Qualifiers 7m
- Designing Layouts for Tablets 6m
- Effectively Using Widescreen Tablets 2m
- Adapting Resources to Different Screen Configurations 7m
- Summary 2m
- Overview and Introduction to Configuration Change 3m
- Impact of Screen Rotation on Activity 3m
- Impact of Screen Rotation on Views 6m
- Saving UI State: Saved Instance State Bundle 4m
- Implementing Saved Instance State Bundle to Save UI State 8m
- Verifying Impact of Configuration Change in NoteKeeper App 5m
- Saving UI State: ViewModel 6m
- Why Do You Need ViewModel? 4m
- Implementing Architecture Component ViewModel to Preserve Data 7m
- Saving UI State: Persistent Local Storage 3m
- Summary and Conclusion 3m
- Thank You 1m