首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对旧API级小部件的支持

对旧API级小部件的支持
EN

Stack Overflow用户
提问于 2013-09-15 07:54:21
回答 2查看 1.5K关注 0票数 0

我正在设计一个应用程序,其中最小的SDK为9,目标SDK为18。我想在屏幕上显示一个时钟。因此,我在布局中添加了一个DigitalClock。我收到警告说数字时钟在API 17中被废弃了,所以我添加了文本时钟。但是TextClock只受API 17和更高版本的支持。如果在设备上找到的SDK是< 17,如果SDK找到是>= 17,我应该做什么来使数字时钟出现?

我是通过XML添加DitialClock/TextClock,而不是在代码behnd中添加。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-15 08:07:39

你必须明白,“废弃”一词并不意味着“不可用”。如果您打算在将来维护您的代码,那么继续使用不受欢迎的API/小部件/任何东西并不是一个可怕的罪行,因为您可以回头修复一些东西。被废弃的代码最终将变得不受支持,但这可能是几年后才真正发生的事情。

然而,一个更优雅的解决方案是通过代码添加时钟。通过这样做,您可以根据用户检测到的API级别进行分支,如下所示:

代码语言:javascript
运行
复制
int sdk = android.os.Build.VERSION.SDK_INT;

if(sdk < android.os.Build.VERSION_CODES.HONEYCOMB)
{
    // Code for users with API version Honeycomb or greater
}
else
{
    // Code for users with API versions prior to Honeycomb
}

您甚至可以提供两个布局,并决定在这种逻辑中使用哪一个。

票数 2
EN

Stack Overflow用户

发布于 2013-09-15 08:02:56

如果你想用xml来做它,你应该创建两个不同的布局,其中一个将包含数字时钟和另一个文本时钟。然后将它们放入适当的文件夹中,如:/res/lay-v11或/res/values v13。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18810187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档