There are some known issues in implementing LWUIT for Series 40 devices such as:
Sometimes, in the emulator, the screen may not refresh properly in the application start-up. In such cases, press the call termination key of the emulator and select NO, to force a screen refresh.
Nokia-UI-Enhancement CanvasHasBackground manifest attribute makes the canvas background transparent so that the system background can be seen. However, it doesn't work with full-screen canvases and therefore cannot be used on touch and type and non-touch phones where LWUIT's canvas is always full screen. In full touch devices, the background colour is read at app startup.
Overriding the Nokia theme of certain components programmatically, using the getStyle() method, does not work. This is because, for example in Button, the colour of the component is done with image borders. In these cases, it is recommended to make changes to the theme resource file.
The font size of text looks too big on buttons.
Label is not scrollable in vertical orientation.
The content inside the dialog box is not scrollable.
The whole screen is not painted when changing screen from portrait to landscape.
Clear button is missing in text area.
TextArea/TextField constraint INITIAL_CAPS_WORD does not capitalize the first letter of every word.
TextArea/TextField is not auto adjusted on screen when keyboard is opened causing TextArea to hide behind the virtual keyboard.
Multiple lines of TextArea/TextField text appears on closing the virtual keyboard and disappears on opening the same.
Slider and Tree components, and links in HTMLComponent lack highlight on non-touch phones.
On non-touch devices, when the UI has a spinner component, you can't move focus away from the spinner.
In dialog boxes text entered in any text field, in landscape mode, will be copied to other text area when opening the same.
The LWUIT library is added to every MIDlet developed using LWUIT. Therefore, the MIDlet should be obfuscated to keep its binary size moderate. The LWUIT UI framework takes 700-800 KB of space, but with obfuscation it goes down to 350KB or even less, depending on the complexity of the application.
Tabs should not be used in non-touch phones, or at least should not use any component that needs horizontal scrolling in Tabs.
LWUIT is not optimised for applications that require very high-speed graphics (full-blown games). Therefore, LCDUI Canvas and GameCanvas are better choices.
Avoid using very complex UI scenarios with nested UI components and containers. They will generally result in poor performance.
Avoid using 3D transitions and stick to other transitions like Slide and Fade.
The Series 40 device portfolio ranges from very price-competitive entry devices with a 128x160 pixel display and keyboard input to capable touch UI phones with a QVGA display and enhanced CPU and RAM. Therefore, you need to carefully select your application features for each target device, as some animations and transitions may not run smoothly on lower-end devices. If those features are in use, scaling down the application for low-end devices is needed to ensure a good user experience on each device.