Application Skinning in UIQ3 : An Example
This document describes how application skinning is done in UIQ3 using an example. I have used the HelloWorld application shipped with UIQ3 SDK as the base. In the application I have overridden the normal skin of the emulator with green skin with the help of static SkinManagerclass.
Some screenshots -
I have also added a simple dialog with text editor to show how controls can be skinned.
There are so many things to consider while skinning an application ( e.g. Interaction style - softkey or pen style etc) . This sample application is in no way complete. It is just a glimpse of skinning. The sample application was written taking only softkey interaction style in consideration.
Here is how it has been done -
- First of all the skinning bitmaps needs to be created. While making bitmaps the size of controls should be taken into consideration. Add all the bitmaps ( and masks ) to create a .mbm file.
In the .mmp file -
START BITMAP HWSkin.mbm
HEADER
TARGETPATH \Resource\Apps
SOURCEPATH ..\Data\Skins
SOURCE c24 Dialogbg.bmp
SOURCE 8 Dialogbgmask.bmp
.
.
.
SOURCE c24 MenupnaeHighlightPressed.bmp
SOURCE 8 MenupnaeHighlightPressedmask.bmpEND
- In the AppUi class override skin for each component (screen background, Title bar etc. ) by calling SkinManager::OverrideSkinPatchL().
CHelloWorldAppUi::ConstructL()
Unknown macro: { ..... SkinApplicationL(); }
SkinApplicationL()
Unknown macro: { // Call SkinItemL() for each Item to be skinned. }
SkinItemL()
Unknown macro: {// Call SkinManager}
Reference:
- UIQ3 SDK Documentation.