Symbian3/PDK/Source/GUID-B02C762B-C452-4184-ABEA-4753E6CD47D2.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 11 Mar 2010 18:02:22 +0000
changeset 3 46218c8b8afa
parent 1 25a17d01db0c
child 5 f345bda72bc4
permissions -rw-r--r--
week 10 bug fix submission (SF PDK version): Bug 1892, Bug 1897, Bug 1319. Also 3 or 4 documents were found to contain code blocks with SFL, which has been fixed. Partial fix for broken links, links to Forum Nokia, and the 'Symbian platform' terminology issues.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
	Nokia Corporation - initial contribution.
Contributors: 
-->  <!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"><concept id="GUID-B02C762B-C452-4184-ABEA-4753E6CD47D2" xml:lang="en"><title>Scalability</title><prolog><metadata><keywords></keywords></metadata></prolog><conbody>
<p>The term <i>scalability</i> refers to the ability of an application
UI to function as designed in mobile devices with different screen resolutions
or orientations. For example, in the figure below, the UI scales to fit both
portrait and landscape orientations.</p>
<fig id="GUID-573B32DC-5C53-47B2-8239-AA038E945E81"><title>Scaling</title><image href="GUID-5F9E2762-855A-4DE6-A11B-A5F0D51E19D9_d0e67243_href.png"></image></fig>
<p>When you enable scaling in your application, you allow your application
to support the different display sizes, resolutions, and layouts for different
devices based on the Symbian platform. The Symbian platform provides APIs
and other support to enable scaling in applications. Some scaling issues are
handled by the application framework if support is enabled, while other issues
need to be handled by the application. The details of what can be handled
where depend on the nature of your UI architecture. A general rule of thumb
is that the greater the degree of customization in your application, the more
you need to handle scalability issues in the application.</p>
<p>You are not required to enable scaling in your applications, although
it is recommended as it enhances usability for mobile device users.</p>
<p>The following issues should be kept in mind when enabling your application
for scaling:</p>
<ul>
<li><p>Layout information should not be hard-coded.</p>
<itemgroup>
<p> The Symbian platform provides the <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classAknLayoutUtils.html" format="application/java-archive"><parmname>AknLayoutUtils</parmname></xref> class
for building layouts from resource files.</p>
<p>Note that you also need to <xref href="GUID-DD15F24B-0786-4531-A6C5-A5E70EBE2732.dita">override <parmname>CCoeControl::HandleResourceChange</parmname> and <parmname>CEikAppUi::HandleResourceChangeL</parmname></xref> in your
application to draw your application again in the event that the orientation
of the display changes.</p>
</itemgroup>
</li>
<li><p>Scalable fonts should be used.</p>
<itemgroup>
<p>The Symbian platform provides methods in the <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classAknLayoutUtils.html" format="application/java-archive"><parmname>AknLayoutUtils</parmname></xref> for
using logical fonts from an enumeration in the avkon.hrh file.</p>
</itemgroup>
</li>
<li><p>Scalable icons should be used.</p>
<itemgroup>
<p>Scalable icons are based on SVG Tiny (SVG-T) format <xref href="GUID-D76B1001-BAF5-4557-A07E-61065523ECBE.dita">graphics</xref>.</p>
</itemgroup>
</li>
</ul>
</conbody></concept>