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.
Course info
Level
Intermediate
Updated
Aug 20, 2018
Duration
5h 15m
Table of contents
Course Overview
Planning Your Application
Styling Views and Layouts
Customizing App Appearance by Applying Themes
Dealing with Values Resources: String Localization
Working with Drawable Resources for Different Screen Densities
Adapting to Different Screen Configurations
Handling Configuration Changes
Description
Course info
Level
Intermediate
Updated
Aug 20, 2018
Duration
5h 15m
Description

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.

About the author
About the author

Sriyank is a passionate software developer and loves to share his knowledge through his blogs and video courses. He follows "share and gain" principle which led him to publish many courses online. Though he has a deep love for Android he also specializes in other mobile app platforms such as iOS and also web development frameworks such as Laravel. He started his journey of sharing knowledge by holding hands-on workshops in various top level Indian Institutes such as NITs and IITs which eventually made him the speaker of one of the Google Developers Groups India which further supported his workshops in many more institutions. Currently Sriyank is working as freelance software developer and a proud online trainer. Apart from this, he loves to travel and explore new places.

More from the author
Android Fundamentals: Views and Adapters
Beginner
1h 43m
Jul 31, 2019
Android Fundamentals: Layouts
Beginner
1h 59m
Jun 28, 2019
Android Animations
Intermediate
2h 16m
Mar 25, 2019
More courses by Sriyank Siddhartha
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hi everyone. My name is Sriyank Siddhartha, and welcome to my course, Android Apps with Kotlin: Resources, Styles, and Themes. I am a freelance application developer and have developed a large number of applications, especially the ecommerce applications. Well in Android, managing resources, providing consistent styles to your application sometimes becomes very challenging. In fact, your application's user interface is the first thing that a user comes across. Sometimes it becomes a big pain for the developers to select an appropriate theme for that application and style views in a way to gain users' attention. So in this course, we are going to learn all the basics and fundamental concepts related to managing resources, styling views, and applying appropriate theme to your application. So the major topics that we will cover include how to apply consistent styles throughout the application, selecting an appropriate theme that represents your brand, how to manage resources in Android, how to design layouts for multiple device screens, and in the end you will learn device configuration changes and thus providing stability to your application. By the end of this course, you will have a solid understanding of how to work with resources, styles, and themes in Android. Before beginning the course, you should be familiar with basics of Android app development. So I hope you will join me on this journey to learn about resources, styles, and themes here, at Pluralsight.

Styling Views and Layouts
Hi, this is Sriyank Siddhartha, and welcome to the next module of this course. In this module, we will learn about the core concepts of how to style views and layouts within our application. So what are the topics that we will cover in this module? We will start our module with what are the various types of commonly used Android resources, such as colors, dimensions, strings, and also the styles. Once you get familiar with that, then we will explore how to apply a style to a view, such as the text view, buttons, and even the layouts. Proceeding, we will explore how to make a style reusable by using the concept of inheritance. That is once you create a style, you can use it for other views as well. So it has some of its own advantages, so we will explore them as well. In the end of this section, we are going to check out how to style views based on their state, for example how a view should appear in their default state or when the user press it or when the view is in focused state. Well the topic of styling views based on their state is really very important, and we are going to cover all of these topics with the help of demo videos.

Customizing App Appearance by Applying Themes
Hi, this is Sriyank Siddhartha, and welcome to the next module of this course. Well, this module is one of the most important modules of this course, where we will learn about how to customize application themes that will represent the brand of our product. So the main objective of this module will be to customize the application appearance by using themes. So what are the topics that we will cover in this module? Firstly, we will check out importance of theming and why do we need it. Then we will take a step ahead and check out how to customize the application, themes, and colors. And for that, we will be using some editors or some tools, so what are they, we will check them out as well. Proceeding, we will explore what are the available options of themes that can be applied to our application? So we are going to explore them all, and finally select the suitable theme for our application. Now using themes has its own advantages. One of the most important advantage is that by using theme, you can apply a style to the views application wide. Now when you apply themes to your application, then you also have to take care that the theme which you have applied extends support for the lower Android version as well. So we will check out how to maintain the backward compatibility while applying themes. And also there are specific styles and features that are only applicable to some Android versions. So we will see how to apply version-specific styles to our application. And all of these topics we are going to cover with the help of demo videos. So let us start with our first topic, why theming?

Dealing with Values Resources: String Localization
Hi, this Sriyank Siddhartha, and welcome to the next module of this course. Well this module is basically based on the topic of localization. That is, what is localization and how it helpful to increase the user base of our application. Now in the previous module, we dealt with the values resources such as styles and themes. Now in this module, we are basically going to deal with the string resources to perform localization within our application. Now apart from string, we will also check out what are the other factors to keep in mind while performing localization. So what are the topics that we will cover in this module? Well firstly, we will check out what exactly is localization and why do we need it within our application? Proceeding, we will see what are various resource qualifiers needed for localizing our application. And then we will see how to localize various application resources, such as strings, graphics and media, layouts, and even various other resources such as colors, or themes, or styles. Well our focus of discussion will be strings, but while localizing strings, we will also see how to take care of localizing other application resources. And finally, we will see what are the various factors to keep in mind while localizing our application.

Working with Drawable Resources for Different Screen Densities
Hi, this is Sriyank Siddhartha, and welcome to the next module of this course. In this module, we will deal with the drawable resources in Android, and make it compatible across different screen densities. So what are the topics that we will cover in this module? Firstly, we will check out what exactly we mean by the drawable resource. And in Android, there are various types of drawable resources, among which we will check out these two, such as raster drawable, which is also known as the bitmap file, and then we will check out what exactly is a vector drawable. Proceeding, we will check out what are the various screen densities that are available across different Android devices. And then we will explore what are the various commonly used UI terminology, such as what is a dp, what is dpi, and also what is sp? Now moving forward, we will explore how to make the drawable resources compatible across different screen densities. And of course, we will use the resource qualifier for that. Now to deal with the drawable resources in Android, we are blessed to have a few of the in-built tools, such as Image Asset Studio and also Vector Asset Studio. So we will check out how to make effective use of these tools. And finally in the end, we will check out what exactly is a launcher icon and how to create it for our own application. So without wasting much time, let's get started.

Adapting to Different Screen Configurations
Hi, this is Sriyank Siddhartha, and welcome to the next module of this course. In this module, we will check out how to deal with resources and adapt to different screen configurations. So let's check out what other topics that we will cover in this module. So firstly, we will check out how to design layouts for both portrait and landscape screen orientation. Proceeding, we will see how to adapt our user interface to different screen sizes. For example, how to make our application layout compatible with both handsets, as well as the tablet devices. And then we will see how to access other resources, such as string, Boolean, integer, integer array, or string array based on different screen configurations.