|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-B02C762B-C452-4184-ABEA-4753E6CD47D2" xml:lang="en"><title>Scalability</title><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
13 <p>The term <i>scalability</i> refers to the ability of an application |
|
14 UI to function as designed in mobile devices with different screen resolutions |
|
15 or orientations. For example, in the figure below, the UI scales to fit both |
|
16 portrait and landscape orientations.</p> |
|
17 <fig id="GUID-D889D539-AD96-4E67-A52A-EC14FF98E299"><title>Scaling</title><image href="GUID-A69D2707-CB47-42C2-A6E9-5FB9BD86A30B_d0e46132_href.png"/></fig> |
|
18 <p>When you enable scaling in your application, you allow your application |
|
19 to support the different display sizes, resolutions, and layouts for different |
|
20 devices based on the Symbian platform. The Symbian platform provides APIs |
|
21 and other support to enable scaling in applications. Some scaling issues are |
|
22 handled by the application framework if support is enabled, while other issues |
|
23 need to be handled by the application. The details of what can be handled |
|
24 where depend on the nature of your UI architecture. A general rule of thumb |
|
25 is that the greater the degree of customization in your application, the more |
|
26 you need to handle scalability issues in the application.</p> |
|
27 <p>You are not required to enable scaling in your applications, although |
|
28 it is recommended as it enhances usability for mobile device users.</p> |
|
29 <p>The following issues should be kept in mind when enabling your application |
|
30 for scaling:</p> |
|
31 <ul> |
|
32 <li><p>Layout information should not be hard-coded.</p> |
|
33 <itemgroup> |
|
34 <p> The Symbian platform provides the <parmname>AknLayoutUtils</parmname> class |
|
35 for building layouts from resource files.</p> |
|
36 <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 |
|
37 application to draw your application again in the event that the orientation |
|
38 of the display changes.</p> |
|
39 </itemgroup> |
|
40 </li> |
|
41 <li><p>Scalable fonts should be used.</p> |
|
42 <itemgroup> |
|
43 <p>The Symbian platform provides methods in the <parmname>AknLayoutUtils</parmname> for |
|
44 using logical fonts from an enumeration in the <parmname>avkon.hrh</parmname> file.</p> |
|
45 </itemgroup> |
|
46 </li> |
|
47 <li><p>Scalable icons should be used.</p> |
|
48 <itemgroup> |
|
49 <p>Scalable icons are based on SVG Tiny (SVG-T) format <xref href="GUID-D76B1001-BAF5-4557-A07E-61065523ECBE.dita">graphics</xref>.</p> |
|
50 </itemgroup> |
|
51 </li> |
|
52 </ul> |
|
53 </conbody></concept> |