日期:2014-05-20  浏览次数:20861 次

framework下资源文件---自定义统一的系统风格
1.系统资源文件位置:framework/base/core/res/res

2.引用方法:android. R.style.XXX

               XXX="@android:anim /anim_name"

               此时被引用的文件必须在public.xml中声明。

               如果想引用一个非Public的文件,使用:com.android.internal.R.style.XXX

3.系统主题

   在themes.xml中,有这样一个:<style name="Theme">...</style>

   这个style中设置了很多个item,默认了系统的属性。在系统级的窗体管理中,会将这个Theme设置下去,这样我们所有的应用程序都默认调用了这样同一个主题。

4.如何修改系统默认的主题

   先举一个系统的例子:

   照相机模块的mainfest.xml中,对该activity主题的设置:android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"

   在资源文件themes.xml中,它如此定义:

     <style name="Theme.Black.NoTitleBar.Fullscreen">
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>

   此外,我们还需要对其进行声明,在public.xml中:

   <public type="style" name="Theme.Black.NoTitleBar.Fullscreen" id="0x0103000a" />

   有了如上的例子后,再自己定义一个自己想要的统一主题,相信您已经学会了。

5.系统默认activity间切换动画

   在styels.xml中,有这样一个style:<style name="Animation.Activity">...</style>

   在theme主题中,定义了<item name="android:windowAnimationStyle">@android:style/Animation.Activity</item>

   所以我们的应用程序就有了默认的动画效果。

   相信这个activityOpenEnterAnimation,activityOpenExitAnimation,

           activityCloseEnterAnimation,activityCloseExitAnimation您一定不陌生

   它是用来做activity间切换的动画效果的,延长一下动画时间,会发现处于下层的界面只移动了很少一部分。

   如果您需要iphone的左右切换动画效果,那么将源码的33%改成1000就OK了