2014-01-20 29 views
40

任何人都可以告诉我何时使用CheckboxSwitch何时使用CheckBox和何时开关

我的意思是,在PreferenceActivity的背景下,两者之间的真实登录差异是什么?

例如,您是否将下一部分更改为Checkboxes?它是一个集合的一部分,但在这里使用Switch看起来更好。

enter image description here

+1

我会说使用复选框来选择相关首选项列表中的多个链接项目,并在项目独立于其他项目时切换。但那只是我。我想最终归结于你(当然是你的用户)的意义。好问题,+1。 – 2Dee

回答

40

其实我觉得这是一个很有趣的问题,特别是考虑到可以使用Android的复选框容易模拟开关的功能。

根据Android开发人员指南,复选框只是一种开关。检查下面的引述或阅读完整的说明here

复选框:复选框允许用户从一组选择多个选项。避免使用单个复选框来关闭或打开选项。相反,使用开/关开关。

开/关切换:开/关切换切换单一设置选项的状态。

+0

OMG !!!,问题和答案都是38 upvotes – 2017-10-24 01:57:47

+0

重要的是要注意,对于一组复选框,需要额外的“提交”或“保存”按钮来标记完成。然而开关是即时的,立即生效。 – AjitZero

4

下,在Android设备的Settings选项后,我对复选框和交换机之间的区别的意见是:

  1. 复选框通常用来标记/取消标记该服务的特定设置。
  2. 交换机用于打开/关闭特定服务。

可能地,这就是为什么checkbox作为子集和/类型的switch,因为它们容许标记/取消服务本身(而不是整个服务)中的一个选项进行处理。

7

免责声明我不是UX专家。

再说什么@KentHawkings早已cited从谷歌的design guidelines(复选框的非排他性选项列表,并切换为单选项),有一个很好的(恕我直言)使用情况的复选框一个选项 - 当复选框清楚地表示是/否。

好主意复选框:“显示通知”选项。

复选框不好主意:“Wi-Fi”选项(如在Android设置中)。
如果这个选项的标题是“Wi-Fi已启用”,那么您可以在此使用复选框,但很明显“开启/关闭”开关的“Wi-Fi”更简洁。

请注意,Play Market不会遵循Google自己的指导方针 - 它会在其设置中使用复选框。

+3

Google Play的确有很好的理由这样做,它需要在所有Android设备中兼容并保持一致,回溯到古老的API级别(如Android 2.3)。 [开关](https://developer.android.com/reference/android/widget/Switch.html)和[开关首选项](https://developer.android.com/reference/android/preference/SwitchPreference.html)在API级别14中添加]并且开关首选项不包括在API级别9的支持库中。我找到了[第三方库](https://github.com/yongjhih/SwitchPreferenceCompat) ,虽然没有尝试过。 – cuddlecheek

+0

@cuddlecheek我认为,在Google有几个有能力的程序员,他们可以选择** 1。**添加开关以支持lib v7或** 2。**实现开关作为Play应用中的自定义小部件:-P –

+2

当然,他们可以这样做,但我想Google Play应用程序和支持库是由不同团队开发的。所以我认为Google Play团队并不打算添加交换机来支持库v7,并且可能没有发现它自己实现它是如此重要。我会说,如果他们开始开发API 14+的应用程序,他们会在适当的地方使用开关。 – cuddlecheek

0

CheckBox意味着它是一个切换,只有一个切换。 开关意味着它是一个切换,如果你点击文本区域(标题和摘要),会弹出更多的设置窗口。

相关问题