Android系统可以通过Overlay机制让你可以选择性地覆盖你的主题,可以根据产品类型动态编译更换相应的主题,如果你在同一套代码里面有不同UI风格要求(如不同的壁纸,部分apk界面拥有不同的界面),这时候就使用使用Overlay方法。
以下介绍我自己的应用,同一产品代码目录下有多个UI界面显示的需求(或者客户定制界面需求),因此我在我device.mk下面定义了根据不同的产品做出选择不同的overlay目录,详细如下
DEVICE_SOURCES := device/mstar/mango
ifeq ($(BUILD_VERSION),MEETING)
DEVICE_PACKAGE_OVERLAYS := $(DEVICE_SOURCES)/overlay_meeting
else ifeq ($(BUILD_VERSION),EDU)
DEVICE_PACKAGE_OVERLAYS := $(DEVICE_SOURCES)/overlay_edu
endif
然后在overlay目录中替换相应的资源文件。