Symbian3/SDK/Source/GUID-B02C762B-C452-4184-ABEA-4753E6CD47D2.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 21 Jan 2010 18:18:20 +0000
changeset 0 89d6a7a84779
permissions -rw-r--r--
Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385

<?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_d0e42268_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>