根据 API 级别实现(切换\切换按钮)

Posted

技术标签:

【中文标题】根据 API 级别实现(切换\\切换按钮)【英文标题】:Implementing (switch\toggle button) depending on API level根据 API 级别实现(切换\切换按钮) 【发布时间】:2014-11-24 21:18:09 【问题描述】:

我的应用程序将在 api 级别 9 或更高级别的设备上运行。现在我在其中一个布局上有一个切换按钮。如果设备是 apilevel 14 或更高,我想将此切换按钮更改为切换器。我该如何实施?对不起我的英语。

【问题讨论】:

【参考方案1】:

如果您在 xml 中创建内容/页面,只需将具有相同名称的 xml 复制到 layout-v14 文件夹即可。然后将 ToggleButton 更改为 SwitchButton,android 将负责休息 :) 如果你用 jave 编写代码,请使用:

if(Build.VERSION.SDK_INT > Build.VERSION_CODES.ICE_CREAM_SANDWICH)
    //Add Switch
else
    //add toggle

当你想要同时使用这两者(在 xml 中定义时)使用相同的 java 代码时:

CompoundButton bt_toggle= (CompoundButton) findViewById(R.id.some_button);
bt_toggle.setChecked(false);

【讨论】:

感谢您的回答。你能推荐一些有趣的库来支持 api 级别 9 中的切换器吗? ankri.de/switch-button-for-android-2-3-gingerbread查看此代码,下载点击代码上方的.zip选项实现它,见***.com/questions/5514281/… 这是 api 级别 10 :) 这是您的决定,Android 支持库在编译和 proGuard 运行后的权重约为 1MB。我不知道更好的东西,但我不是专家【参考方案2】:

我找到了解决办法! link

它只是添加了一个支持库。并且你可以使用 api-level7 的切换器!

【讨论】:

以上是关于根据 API 级别实现(切换\切换按钮)的主要内容,如果未能解决你的问题,请参考以下文章

vue项目中的按钮权限配置

vue无缝滚动插件左右切换按钮不显示

在 react-router 中切换同一级别的路由时获取数据的正确方法?

Cocos2d 场景切换和替换问题

为啥 Android Studio 不断切换“语言级别”?

CentOS 7 运行级别切换