# Pixel Perfect - Material Buttons part 2

DevFeed: [Pixel Perfect - Material Buttons part 2](<https://devfeed.tech/articles/pixel-perfect-material-buttons-part-2-19431.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/pixel-perfect-material-buttons-part-2/>)

Author: Shai Almog

Published: 2017-07-18T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [ui](<https://devfeed.tech/topics/ui.md>), [User experience (UX)](<https://devfeed.tech/topics/ux.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [customization](<https://devfeed.tech/tags/customization.md>), [image](<https://devfeed.tech/tags/image.md>), [ios](<https://devfeed.tech/tags/ios.md>), [ui](<https://devfeed.tech/tags/ui.md>), [ux](<https://devfeed.tech/tags/ux.md>)

## AI overview

This article explains how Codename One uses native themes to adapt applications to operating-system conventions. It discusses updating Android and iOS themes, improving visual fidelity, reducing differences between platforms, and enabling more customization with fewer image resources.

## Source excerpt

Last week I wrote about the effort of revitalizing the native themes in Codename One and I'm not sure if I got the point across as I would have liked it. So this week before I go into the changes and work we're doing I'd like to take a step back and explain how everything works and why we need a native theme... __ To implement the features this week we made some big changes check out the section titled changes for the gist of this... In order to adapt an application to OS conventions Codename One loads an internal theme that matches the given OS. This is a theme we developed for every OS we support. We then load your theme on top of that theme and you can override various default behaviors.