<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- saved from url=(0014)about:internet -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>SampleBackMenuSearchEvent.mxml</title>
<link rel="stylesheet" type="text/css" href="../SourceStyles.css"/>
</head>

<body>
<pre><span class="MXMLProcessing_Instruction">&lt;?xml version="1.0" encoding="utf-8"?&gt;</span>
<span class="MXMLComponent_Tag">&lt;s:View</span><span class="MXMLDefault_Text"> xmlns:fx="</span><span class="MXMLString">http://ns.adobe.com/mxml/2009</span><span class="MXMLDefault_Text">"
        xmlns:s="</span><span class="MXMLString">library://ns.adobe.com/flex/spark</span><span class="MXMLDefault_Text">" title="</span><span class="MXMLString">Back/Menu/Search Events</span><span class="MXMLDefault_Text">"
		 viewActivate=&quot;view1_viewActivateHandler(event)&quot;</span><span class="MXMLComponent_Tag">&gt;</span>
    
    <span class="MXMLComment">&lt;!--</span><span class="MXMLComment"> NOT SUPPORTED on IOS </span><span class="MXMLComment">--&gt;</span>
    <span class="MXMLComment">&lt;!--</span><span class="MXMLComment"> Demonstrates how you can handle the Android default events for the Back button, Menu button and Search Button. To handle 
    these events in your application you can prevent the default. </span><span class="MXMLComment">--&gt;</span>
    
    <span class="MXMLSpecial_Tag">&lt;fx:Script&gt;</span>
        &lt;![CDATA[
            <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">mx</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">events</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">FlexEvent</span>;
            <span class="ActionScriptReserved">import</span> spark.components.supportClasses.StyleableTextField;
            <span class="ActionScriptReserved">import</span> spark.events.ViewNavigatorEvent;
            
            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptvar">var</span> tf:StyleableTextField;
            
            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> view1_viewActivateHandler(event:ViewNavigatorEvent):<span class="ActionScriptReserved">void</span>
            {    
                <span class="ActionScriptReserved">if</span> (Capabilities.os.indexOf(<span class="ActionScriptString">"iPhone"</span>)==-1)
                {
                    currentState = <span class="ActionScriptString">"normal"</span>;
                    tf = log.textDisplay <span class="ActionScriptReserved">as</span> StyleableTextField;
                    stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
                }
                <span class="ActionScriptReserved">else</span> currentState=<span class="ActionScriptString">"unsupported"</span>;
            }
            
            <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> onKeyDown(event:KeyboardEvent):<span class="ActionScriptReserved">void</span>
            {
                <span class="ActionScriptReserved">if</span> (event.keyCode == Keyboard.BACK)
                {
                    event.preventDefault();
                    log.appendText(<span class="ActionScriptString">"Back Pressed\n"</span>);
                    tf.scrollV = tf.scrollV+1;
                } 
                <span class="ActionScriptReserved">else if</span> (event.keyCode == Keyboard.MENU)
                {
                    event.preventDefault();
                    log.appendText(<span class="ActionScriptString">"Menu Pressed\n"</span>);
                    tf.scrollV = tf.scrollV+1;
                } 
                <span class="ActionScriptReserved">else if</span> (event.keyCode == Keyboard.SEARCH)
                {
                    event.preventDefault();
                    log.appendText(<span class="ActionScriptString">"Search Pressed\n"</span>);
                    tf.scrollV = tf.scrollV+1;
                }
            }
        <span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptOperator">&gt;</span>
    <span class="MXMLSpecial_Tag">&lt;/fx:Script&gt;</span>
    <span class="MXMLComponent_Tag">&lt;s:states&gt;</span>
        <span class="MXMLComponent_Tag">&lt;s:State</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">normal</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
        <span class="MXMLComponent_Tag">&lt;s:State</span><span class="MXMLDefault_Text"> name="</span><span class="MXMLString">unsupported</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/s:states&gt;</span>
    
    <span class="MXMLComponent_Tag">&lt;s:layout&gt;</span>
        <span class="MXMLComponent_Tag">&lt;s:VerticalLayout</span><span class="MXMLDefault_Text"> paddingTop="</span><span class="MXMLString">20</span><span class="MXMLDefault_Text">" paddingBottom="</span><span class="MXMLString">20</span><span class="MXMLDefault_Text">" paddingLeft="</span><span class="MXMLString">20</span><span class="MXMLDefault_Text">" paddingRight="</span><span class="MXMLString">20</span><span class="MXMLDefault_Text">" gap="</span><span class="MXMLString">40</span><span class="MXMLDefault_Text">" 
                          horizontalAlign="</span><span class="MXMLString">center</span><span class="MXMLDefault_Text">" verticalAlign="</span><span class="MXMLString">middle</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/s:layout&gt;</span>
    
    <span class="MXMLComponent_Tag">&lt;s:Label</span><span class="MXMLDefault_Text"> includeIn="</span><span class="MXMLString">unsupported</span><span class="MXMLDefault_Text">" text="</span><span class="MXMLString">This sample is not supported on this device.</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
    <span class="MXMLComponent_Tag">&lt;s:Label</span><span class="MXMLDefault_Text"> text="</span><span class="MXMLString">OS: {</span><span class="ActionScriptDefault_Text">Capabilities</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">os</span><span class="MXMLString">}</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
    
    <span class="MXMLComponent_Tag">&lt;s:VGroup</span><span class="MXMLDefault_Text"> includeIn="</span><span class="MXMLString">normal</span><span class="MXMLDefault_Text">" width="</span><span class="MXMLString">100%</span><span class="MXMLDefault_Text">" height="</span><span class="MXMLString">100%</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
        <span class="MXMLComponent_Tag">&lt;s:VGroup</span><span class="MXMLDefault_Text"> width="</span><span class="MXMLString">100%</span><span class="MXMLDefault_Text">" horizontalAlign="</span><span class="MXMLString">center</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">&gt;</span>
            <span class="MXMLComponent_Tag">&lt;s:TextArea</span><span class="MXMLDefault_Text"> width="</span><span class="MXMLString">98%</span><span class="MXMLDefault_Text">" editable="</span><span class="MXMLString">false</span><span class="MXMLDefault_Text">"
                        text="</span><span class="MXMLString">The Back, Menu and Search buttons on the device are handled through keyboard event handlers. Press the buttons on your device to see the events generated.</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
            <span class="MXMLComponent_Tag">&lt;s:Label</span><span class="MXMLDefault_Text"> text="</span><span class="MXMLString">Event Log:</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
            <span class="MXMLComponent_Tag">&lt;s:TextArea</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">log</span><span class="MXMLDefault_Text">" height="</span><span class="MXMLString">200</span><span class="MXMLDefault_Text">" editable="</span><span class="MXMLString">false</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/&gt;</span>
        <span class="MXMLComponent_Tag">&lt;/s:VGroup&gt;</span>
    <span class="MXMLComponent_Tag">&lt;/s:VGroup&gt;</span>
    
<span class="MXMLComponent_Tag">&lt;/s:View&gt;</span></pre></body>
</html>
