2 sunbo java SunBo_Java 于 2012.12.05 16:51 提问

Android皮肤更换的开发

大家有谁知道怎么才能做到通过最简单的操作方式替换掉整个程序的皮肤样式?
就像新浪微博那样,可以使用专门的apk来实现共享,但是我不知道怎么才能将另外一个apk中的相关资源直接切换到现有的程序中?
或者还有别的好办法,还请大家给推荐推荐?

最好是能给个现成的Demo能供小弟参考,小弟对此将感激不尽。

2个回答

CSDN_Ask
CSDN_Ask   2012.12.06 09:42

你可以先定义一个样式,包含android程序中其中的主题样式,作为父类:

<style name="main_style" parent="android:Theme.Black.NoTitleBar">
    <item name="android:windowBackground">@drawable/background</item>
    <item name="android:cacheColorHint">#00000000</item>
    <!-- any other customizations -->
</style>

然后在AndroidManifest.xml中,在activity中应用以下的方法:

<activity
    android:name=".Activity1"
    android:theme="@style/main_style"/>

<activity
    android:name=".Activity2"
    android:theme="@style/main_style"/>

或者应用到整个程序中:

<application
    android:theme="@style/main_style">

不需要自定义主题,也可以使用stock android的其中一个主题

<application
    android:theme="@android:style/Theme.Black.NoTitleBar">
yongyong_21
yongyong_21   2012.12.06 10:02

参考这个链接的内容,可以为程序定义样式:
http://developer.android.com/guide/topics/ui/themes.html

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!