思考如何在不同的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环境下继承不同的值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .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语句:使用策略模式优化代码结构