是男人就下100层【第一层】——高仿微信界面(10)

在上一篇中虽然实现了微信5.0的主界面框架,但是方法似乎有点牵强,官方已经为HOLO主题提供了actionBar我前面翻译过两篇文章Android官方教程翻译(5)——设置ActionBar》、《Android官方教程翻译(6)——添加ActionBar》,今天我们来看一下如何使用ActionBar以及用actionBar实现微信主界面。

首先新建一个应用:


我们可以看到系统默认为我们提供了ActionBar(Android3.0版本已经默认启用了Action Bar,因此只要版本高于“11”那么默认就会启动Action Bar,如果你是2.1以上3.0以下则需要下载支持的jar包。)

下面我贴出style.xml文件代码:

<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
        
    </style>


    <!-- Application theme. -->
	<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
	</style>
	<style name="MyTheme.WithActionBar" parent="@style/MyTheme">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <item name="android:actionButtonStyle">@style/MyActionButton</item>
		<item name="android:actionBarTabBarStyle">@style/MyActionBarTabBar</item>
		<item name="android:actionBarTabTextStyle">@style/MyActionBarTabTextStyle</item>
    </style>
    <style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">  
		<item name="android:windowActionBarOverlay">true</item>  
		<item name="android:background">@drawable/actionbar_bg</item>  
		<item name="android:backgroundStacked">#F7F7F7</item>  
		<item name="android:backgroundSplit">#33BA03</item> 
	</style> 
   
    <style name="MyActionButton" parent="@android:style/Widget.Holo.ActionButton">     
		<item name="android:gravity">center</item>   
		<item name="android:paddingLeft">12dip</item>   
		<item name="android:paddingRight">12dip</item>   
		<item name="android:scaleType">center</item>   
	</style>  
	
    <style name="MyActionBarTabBar" parent="@android:style/Widget.Holo.Light.ActionBar.TabBar">
        <item name="android:divider">@null</item>   
		<item name="android:showDividers">middle</item>   
		<item name="android:dividerPadding">0dip</item>  
    </style>
    

    <style name="MyActionBarTabTextStyle" parent="@android:style/Widget.Holo.Light.ActionBar.TabText">
        <item name="android:textColor">#669900</item>
        <item name="android:textSize">15dp</item>
        <item name="android:textStyle">normal</item>
        <item name="android:maxLines">1</item>
    </style>
</resources>
具体的界面就不写了,这个涉及到一些项目信息,所以不方便上传代码。

感兴趣的朋友可以参考:

http://blog.csdn.net/klpchan/article/details/10027841

http://blog.csdn.net/eclipsexys/article/details/8688538

最后的运行结果:



应大家的要求,我将menu文件贴出来,关于fragment实现菜单导航部分,大家可以搜一下。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
     <!-- Search, should appear as action button -->  
    <item android:id="@+id/action_search"  
          android:icon="@drawable/ic_action_refresh"  
          android:title="刷新" 
          android:showAsAction="always"/>  
    <!-- Settings, should always be in the overflow -->
 	<item android:id="@+id/action_add"  
          android:title="分享"  
          android:icon="@drawable/ic_action_share"
          android:showAsAction="always" />   
   
   <item android:id="@+id/action_settings"  
          android:title="更多"  
          android:icon="@drawable/ic_action_overflow"
          android:showAsAction="always"> 
          <menu >
              <group >
                  <item 
                      android:id="@+id/item1"
                      android:title="个人中心"
                      android:icon="@drawable/ic_action_user"/>
                  <item 
                      android:id="@+id/item2"
                      android:title="自定义"
                      android:icon="@drawable/ic_action_edit"/>
                  <item 
                      android:id="@+id/item3"
                      android:title="历史记录"
                      android:icon="@drawable/ic_action_paste"/>
              </group>
          </menu>
    </item> 
</menu>



  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
男人就下100游戏源码,经典的flash游戏《是男人就下100》登录win8平台了,支持surface 以及 surface pro, 操作方式支持键盘左右键和触摸操作,该游戏现在android版,ios版已经上线了,但是wp版现在才开发的,喜欢的朋友可以了解一下吧。 项目介绍 这毕竟是个小游戏,本身其实没有什么技术难点,主要在于项目的设计,分为如下几个小模块 1、玩家 (Player) 玩家类我用了单例模式,继承自CCSprite,因为贯穿游戏一直会有玩家存在,在这个版本里也不会有第二个,所以单例成了我很好的选择。 封装了 运动、血量 等。整体的游戏运动采取了背景运动而人不动的方式,感觉在这里这种要更容易掌控一些,分很明显。 2、平台 这里我参照了 Floyd 的Js版本实现,以 BlockBase 作为所有平台游戏的基类,实现了向上运动,检测玩家碰撞,移除平台等基础功能。 然后根据不同的平台类型,继承该基类实现不同效果,比如跳起,伤害,左右平移等。 分别有:NormalBlock (最普通的平台) 、FlipBlock(让人弹跳的平台)、MissBlock(会破损的平台)、ThornBlock(带刺的平台)、LeftRunBlock、RightRunBlock (左右运动的平台) 还有个 BlockFactory 工厂类, 负责在恰当的时候创建合适的平台,创建的规则是随机类型,位置是从预先定义的几个里面随机取。 对于所有平台的管理, 本来最好应该是做个缓存池的,但是我发现这个性能降低实在是可以忽略,所以。。。 3、输入 输入这里,定义了一个基类,InputBase,因为最终肯定有几种输入的方式:PC(键盘、鼠标)、手势、重力感应等,所以这个从一开始就要考虑到。具体的处理方式是 给定一个固定的运动速度, 然后有输入事件的时候就让玩家按照这个速度来运行, 但是现在实际的效果感觉还不太理想。 4、场景 场景就是那么基础的几个了。。。游戏主界面采用了MVC的模式来设计,CCScene 作为 Controller ,其它的Layer 作为View。其它页面都比较简单,单Layer 实现。逻辑也都放在Layer里了。 另外,专门定义了一个 HideLayer ,目的是实现弹出对话框的效果,考虑到原场景中可能会有CCMenu,我将该 Layer 的 优先级设为了 与 CCMenu 相同,因为后添加的原因,所以总能屏蔽 Menu 的事件, 而且在 Layer 上再添加Menu 也不会有问题。 还有个比较有意思的是: 所有的场景我都继承了 IBackableScene 接口,这是我自己定义的一个抽象类,因为我发现对于 “后退” 按钮的处理在游戏中是非常常见的,所以这个接口里定义了 bool GoBack() = 0 函数, 所有需要响应后退事件的场景都要实现该方法,然后在该方法里实现具体的返回 代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值