随笔 - 62  文章 - 0  评论 - 114  阅读 - 18万

思考如何在不同的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环境下继承不同的值。

 

 

posted on   nuliniao  阅读(1134)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2013年1月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
3 4 5 6 7 8 9

点击右上角即可分享
微信分享提示