思考如何在不同的api下用不同的theme
不错的帖子:
android。。。book翻页效果 不失真。。不解释。。
http://www.eoeandroid.com/thread-245287-1-1.html
gridview可以拖动的item类似于桌面图标的拖动
http://www.eoeandroid.com/thread-243853-1-1.html
【eoe特刊】第二十七期 OpenGL ES学习及项目解析
http://www.eoeandroid.com/thread-240293-1-1.html
------------帖子正文----------------------
先说一下自己的一点小心得:
可能很多在高版本下编绎apk的同学,可能都曾有和我一样的困惑,就是如何让低版本的用户也能有高版本的体验呢,比如3.0才能用的holo style.
于是很多人为此求助了很多开源的sdk,比如holo everywhere,sherlockactionbar等等,但是这些库都很庞大,而且通常添加进去以后,在低版本的机子上也会严重影
响到应用运行的速度。所以我们为何不想想,我们的出发点是否也是用户的需求呢?对于这个问题,我女友给了一个否定的答案,她用的是android 2.1她说,她已经习惯
2.1那个对话框了,,她觉得android对话框本来就是这样,4.0的一点也不好看,所以可能对于很多2.1~2.3的用户,holo并不是他们需要和追求的必备品。只要用他们熟悉的控件就好
没必要在自己的软件中强制的让他们体验4.0的风格,否则可能物极必反。而且花心思去自定义原生的alertDialog,真的不如花时间改进其他性能。所以我觉得正确的做法应该是:
不去追求自己应用在所有的Sdk中表现完全一致,而是从用户的角度,使用他们熟悉的风格。于是才引出了题目中的方法:
技术的部分就相当简单了:
1.更改sdk至3.0及以上
2.在res的values-v11和values里分别新建一个styles.xml
3.values-v11下添加 <style name="AppTheme" parent="android:Theme.Holo.Light">
4.values下添加 <style name="AppTheme" parent="@android:style/Theme.Light">
5.manifest.xml下的application下添加 android:theme="@style/Theme.GreenDroid.Light" >
其实就是自定义一个theme在不同的sdk环境下继承不同的值。