Android自带的menu 不说好看不好看 只要感觉不满意就要改

看看自带的menu 是什么样子的

感觉这个viewmenu比较 还是不错的 但是每个人的看法也不同 看看修改后的效果是什么样字

不管修改后的效果是否好看 目的是修改 因为只要知道了怎么修改 我们就可以按照我们的审美来编码

在项目中需要添加三个文件

SuperViewMenu.mxml

<?xml version="1.0" encoding="utf-8"?><!--ADOBE SYSTEMS INCORPORATEDCopyright 2010 Adobe Systems IncorporatedAll Rights Reserved.NOTICE: Adobe permits you to use, modify, and distribute this filein accordance with the terms of the license agreement accompanying it.--><!--- The default skin class for a Spark ViewMenu in a mobile application.  @see spark.components.ViewMenu@langversion 3.0@playerversion Flash 10@playerversion AIR 1.5@productversion Flex 4--><s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"              xmlns:fb="http://ns.adobe.com/flashbuilder/2009" alpha.disabled="0.5">        <fx:Metadata>        <![CDATA[         /**         * @copy spark.skins.spark.ApplicationSkin#hostComponent        */        [HostComponent("spark.components.ViewMenu")]        ]]>    </fx:Metadata>         <fx:Script fb:purpose="styling">        <![CDATA[            import mx.core.DPIClassification;            import mx.core.FlexGlobals;            import mx.core.IVisualElement;            import mx.core.UIComponent;            import mx.events.FlexEvent;                        import spark.components.supportClasses.GroupBase;            import spark.effects.easing.Power;                    ]]>    </fx:Script>        <s:states>        <s:State name="normal"                          stateGroups="openedGroup"/>        <s:State name="closed"                          stateGroups="closedGroup"/>        <s:State name="disabled"                        stateGroups="openedGroup"/>        <s:State name="normalAndLandscape"              stateGroups="openedGroup, landscapeGroup"/>        <s:State name="closedAndLandscape"              stateGroups="closedGroup, landscapeGroup"/>        <s:State name="disabledAndLandscape"            stateGroups="openedGroup, landscapeGroup" />    </s:states>        <s:transitions>        <s:Transition fromState="closed" toState="normal" autoReverse="true">            <s:Parallel>                <s:Fade target="{chromeGroup}" duration="150" easer="{new Power(0.5, 3)}" />                 <s:Move target="{chromeGroup}" duration="150" disableLayout="true"  easer="{new Power(0, 5)}"/>            </s:Parallel>        </s:Transition>                <s:Transition fromState="closedAndLandscape" toState="normalAndLandscape" autoReverse="true">            <s:Parallel>                <s:Fade target="{chromeGroup}" duration="150" easer="{new Power(0.5, 3)}" />                 <s:Move target="{chromeGroup}" duration="150" disableLayout="true"  easer="{new Power(0, 5)}"/>            </s:Parallel>        </s:Transition>        <s:Transition fromState="normal" toState="closed" autoReverse="true">            <s:Parallel>                <s:Fade target="{chromeGroup}" duration="100"/>                 <s:Move target="{chromeGroup}" duration="100" disableLayout="true"/>            </s:Parallel>        </s:Transition>        <s:Transition fromState="normalAndLandscape" toState="closedAndLandscape" autoReverse="true">            <s:Parallel>                <s:Fade target="{chromeGroup}" duration="100"/>                 <s:Move target="{chromeGroup}" duration="100" disableLayout="true"/>            </s:Parallel>        </s:Transition>    </s:transitions>    <!-- The ViewMenu and its skin are sized to the application.         The menu chrome is a separate group that is anchored to the bottom of the skin. -->    <s:Group id="chromeGroup"             left="0"             right="0"             top.closedGroup="{hostComponent.height - chromeGroup.height / 2}"             bottom.openedGroup="0"              visible.closedGroup="false">                <!-- Divider line -->                <!-- Background -->        <s:Rect radiusX="5" radiusY="5" left="0" right="0" top="0" bottom="0" id="background">            <s:fill>                 <s:SolidColor color="#E27907" alpha=".5"/>            </s:fill>        </s:Rect>                <!--        Note: setting the minimum size to 0 here so that changes to the host component's        size will not be thwarted by this skin part's minimum size.   This is a compromise,        more about it here: http://bugs.adobe.com/jira/browse/SDK-21143        -->        <!--- @copy spark.components.SkinnableContainer#contentGroup -->        <s:Group id="contentGroup" left="2" right="2" top="3" bottom="2" minWidth="0" minHeight="0">            <s:layout>                <s:ViewMenuLayout horizontalGap="2" verticalGap="2" id="contentGroupLayout"                                  requestedMaxColumnCount="3" requestedMaxColumnCount.landscapeGroup="6"/>            </s:layout>        </s:Group>        </s:Group></s:SparkSkin>

SuperMenuItem.mxml

<?xml version="1.0" encoding="utf-8"?><s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"><!-- host component --><fx:Metadata>[HostComponent("spark.components.ViewMenuItem")]</fx:Metadata><!-- states --><s:states><s:State name="showsCaret" stateGroups="contentGroup" /><s:State name="disabled" /><s:State name="down" /><s:State name="over" /><s:State name="up" /></s:states><!-- SkinPartsname=iconDisplay, type=spark.primitives.BitmapImage, required=falsename=labelDisplay, type=spark.core.IDisplayText, required=false--><s:Rect radiusX="5" top="1" left="1" right="1" bottom="1"><s:fill><s:LinearGradient rotation="90"><s:GradientEntry color="0x333333"/><s:GradientEntry color="0x225AD9"/></s:LinearGradient></s:fill></s:Rect><s:HGroup paddingTop="3" paddingBottom="3" paddingLeft="3" paddingRight="3" id="contentGroup" width="100%" height="100%" horizontalAlign="center" verticalAlign="middle"><s:BitmapImage id="iconDisplay"/><s:Label id="labelDisplay"/></s:HGroup></s:Skin>

新建一个样式文件

style.css

/* CSS file */@namespace s "library://ns.adobe.com/flex/spark";s|ViewMenu{skinClass:ClassReference("assets.skin.SuperViewMenu");}s|ViewMenuItem{skinClass:ClassReference("assets.skin.SuperMenuItem")}

在主程序中引入css就可以预览效果了

apk文件也上传了 有时间的可以测试下 手机只要要arm v7 先安装上AIR2.6+ 否则软件无法安装

更多相关文章

  1. 编译可在Android上运行的可执行文件:C/C++交叉编译环境
  2. 2014-11-8Android学习------Android(安卓)仿真翻页效果实现原理
  3. Android最简单的基于FFmpeg的例子(四)---以命令行的形式来使用ff
  4. 史上最易懂的Android(安卓)jni开发资料--NDK环境搭建
  5. [Android(安卓)UI] shape和selector的结合使用
  6. Android(安卓)多渠道打包提速
  7. [Android(安卓)Studio] Gradle fails to resolve dependencies i
  8. Android关于Dex拆分 MultiDex 技术详解
  9. mac平台adb、tcpdump捕手android移动网络数据包

随机推荐

  1. make_ext4fs 文件权限控制
  2. AppWidget运用实例
  3. Android(安卓)Intent 机制学习
  4. Android(安卓)Lollipop 设置状态栏颜色
  5. Android7.1 Presentation双屏异显 DEMO
  6. android studio使用database navigator查
  7. Anroid的onCreateOptionsMenu()创建菜单M
  8. android中Baseadapter的 getItem 和 getI
  9. Android(安卓)OpenCV环境搭建与Demo展示
  10. Android(安卓)数据存储之 文件存储