|
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 task |
|
11 PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd"> |
|
12 <task id="GUID-165EE4DD-C9CA-430B-8377-068A4194716E" xml:lang="en"><title>Modifying |
|
13 applications to support single-tap</title><shortdesc> Symbian^3 enhances the touch interaction by providing support |
|
14 for single-tap.</shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody> |
|
15 <context id="GUID-0EFB67F7-2936-4126-B13A-67402F696663"><p>S60 5th Edition |
|
16 introduced touch support feature with double-tap to maintain binary and source |
|
17 code compatibility with the existing S60 3.x applications. The UI was focus |
|
18 driven, with the first tap for object selection (the corresponding event forwarded |
|
19 to the application) and the second tap for activation.</p><p>Symbian^3 enhances |
|
20 the touch support with single tap for achieving better usability and development |
|
21 of platform and 3rd party applications. The supporting UI is based on direct |
|
22 manipulation and is not focus driven, which means that a single-tap on the |
|
23 device selects and activates an event. This change modifies the touch behavior |
|
24 of certain UI components as listed below:<ul> |
|
25 <li><p>By default, none of the menu items are highlighted.</p></li> |
|
26 <li><p>Item specific options are displayed in stylus menus rather than in |
|
27 options menus.</p></li> |
|
28 <li><p>The side toolbar is hidden in the landscape layout view except in specific |
|
29 applications like the message viewer and editor.</p></li> |
|
30 </ul></p><p>It is highly recommended that you migrate your applications to |
|
31 single-tap to complement the platform UI behavior. However, if you do not |
|
32 migrate your applications to single-tap, they work the same way as in S60 |
|
33 5th Edition (touch support with double-tap).<note> The UI components can be |
|
34 used in hybrid devices for both touch and non-touch events. For details, see <xref href="GUID-EE001282-604B-45F4-8A9E-F657113C86CE.dita">Designing application UIs |
|
35 for touch and non-touch devices</xref>.</note> </p></context> |
|
36 <steps id="GUID-4DD07DEC-6017-4237-BE46-1D69E5FBD744-GENID-1-4-1-1-7-1-4-1-3-2"> |
|
37 <step id="GUID-9A69E5AD-E938-4092-A8C2-CB65C37C8962-GENID-1-4-1-1-7-1-4-1-3-2-1"><cmd>Include the <xref href="GUID-2A5F78CD-F404-338E-A505-93DC30CD4A0A.dita"><apiname>EAknTouchCompatible</apiname></xref> and <xref href="GUID-42FC6075-C1A0-3E68-8109-F6CC04CFBAE2.dita"><apiname>EAknSingleClickCompatible</apiname></xref> flags in your application's UI (<codeph>CAknAppUi</codeph> ) constructor.</cmd> |
|
38 <stepxmp><p>For example, </p><codeblock xml:space="preserve">void CFileBrowseBaseView::ConstructL() //Called from framework (CEikDocument) |
|
39 { |
|
40 ... |
|
41 BaseConstructL(EAknEnableSkin | EAknEnableMSK | <b>EAknTouchCompatible</b> | <b>EAknSingleClickCompatible</b>); |
|
42 ... |
|
43 }</codeblock></stepxmp> |
|
44 <info><p>The <xref href="GUID-2A5F78CD-F404-338E-A505-93DC30CD4A0A.dita"><apiname>EAknTouchCompatible</apiname></xref> flag enables touch functionality. |
|
45 The <xref href="GUID-42FC6075-C1A0-3E68-8109-F6CC04CFBAE2.dita"><apiname>EAknSingleClickCompatible</apiname></xref> flag enables single-click |
|
46 functionality on the Symbian device.</p></info> |
|
47 <stepresult><p>The following illustrations show how applications behave before |
|
48 and after the single-tap changes are made:</p><fig id="GUID-7015C5AD-8162-4185-801C-BEF4352B9837"> |
|
49 <title>Double-tap enabled: By default, UI component is highlighted.</title> |
|
50 <image href="GUID-BF626AFA-F8E5-4049-BC3E-E947AD2D39A1_d0e3107_href.png" placement="inline"/> |
|
51 </fig><fig id="GUID-12C4AB22-ACF7-4A43-B322-ABB39B5653DC"> |
|
52 <title>Single-tap enabled: By default, no UI component is highlighted.</title> |
|
53 <image href="GUID-CAB2A21A-B2EE-4B49-AC97-7F70BDC95755_d0e3114_href.png" placement="inline"/> |
|
54 </fig></stepresult> |
|
55 </step> |
|
56 <step id="GUID-CCF099FE-76F5-49AC-99A7-E834A07FD628"><cmd>Hide item-specific |
|
57 commands from the application's <xref href="GUID-AC8439C7-7E57-4829-AB4B-70BC394DD66F.dita">menus</xref>, <xref href="GUID-244631CF-03F9-4C48-9802-682A76E9ECCC.dita">submenus</xref> and <xref href="GUID-E3A60844-EE37-4AF1-8921-59375C563723.dita">toolbars</xref>. Item-specific |
|
58 commands are functions that are specific to an item. For example, <b>Edit</b> is |
|
59 an item-specific command for an existing contact in the <b>Phone book</b>.</cmd> |
|
60 <stepresult><p>As a result, all item-specific options are hidden in menus, |
|
61 submenus and toolbars and are displayed in the <xref href="GUID-C4E728B4-3E84-49A4-83CB-DF146420D78A.dita">stylus |
|
62 popup menus</xref>. </p></stepresult> |
|
63 </step> |
|
64 <step id="GUID-10C30123-1921-43E1-B39F-C41DC65991E6"><cmd><xref href="GUID-361BB951-DB74-4D83-ACFC-812383C8129C.dita">Activate |
|
65 items in a list</xref> on single-tap.</cmd> |
|
66 </step> |
|
67 <step id="GUID-10F9F971-4E80-4D0A-90B2-7BDC9C40E0A9"><cmd><xref href="GUID-78453EBD-B4F3-4A78-AEAE-3D126DFED31F.dita">Disable |
|
68 stylus popup menu in AVKON lists</xref>.</cmd> |
|
69 </step> |
|
70 <step id="GUID-FF167282-56A6-42F4-ABAE-5A53ECCC0E2F"><cmd><xref href="GUID-2131E679-779D-427D-BD41-47D9949A8749.dita">Disable |
|
71 hardware key shortcuts</xref>.</cmd> |
|
72 </step> |
|
73 </steps> |
|
74 </taskbody></task> |