如果我没有错,View
是所有小部件的超类,但我如何区分视图和小部件?例如,按钮或文本框,我应该称它们为什么(视图或小部件)?
答案 0 :(得分:6)
打电话给他们也没关系。
对于View
的子类,我倾向于使用术语“小部件”,默认情况下对用户有可视化表示 - 例如TextView
,Button
,{{1}等等。
我倾向于使用术语“视图”来表示可能是 ListView
的任何子类,包括View
之类的纯容器。
但是,再一次,任何一个词都没有特别的伤害。
答案 1 :(得分:5)
视图是UI组件的基本构建块。可以将视图视为屏幕上的矩形,可以绘制自己并处理事件。(1)
所以,没有隐含的"语义"与视图相关联。您基本上可以实现屏幕上显示的任何内容并与用户进行交互。
现在,一个小部件就是你通常认为的"控件"用户通过其与您的应用程序交互。按钮,微调器和复选框都是"小部件"的好例子。但是,这不是一个很难的"定义并没有Android上的Widget类这样的东西。某事物是一个小部件"仅仅意味着该类在android.widgets包中用于组织目的,但它实际上是一个View。
例如,Button的基类是View,而不是android.widgets.Widget(它不存在)。
(1)http://developer.android.com/reference/android/view/View.html
另见:
http://developer.android.com/reference/android/view/package-summary.html
http://developer.android.com/reference/android/widget/package-summary.html
答案 2 :(得分:2)
正如View类文档中所述:
此类表示用户界面的基本构建块 组件。一个视图在屏幕上占据一个矩形区域 负责绘图和事件处理。 View是基类 小部件,用于创建交互式UI组件(按钮, 文本字段等)。 ViewGroup子类是其基类 布局,是隐藏其他视图的隐形容器(或 其他ViewGroups)并定义它们的布局属性。
因此,View是IU元素的基类,Widget被宽松地定义为任何现成的View。特别是:
查看:强> View是所有UI元素的基类。因此,它涵盖了许多不同的类和概念,包括窗口小部件,视图组和布局。附加到Window实例的根视图构成了View层次结构的基础。通常,单词View通常用于描述UI元素,或者用于引用抽象或基本UI类(如ViewGroups)。
<强>窗口小部件:强> 这个术语有各种各样的定义,但大多数都是指“随时可用”的UI元素,无论是Button,ImageView,EditText等。请注意,有些人认为Widgets是完整的UI元素(不是抽象的),不是容器(例如ViewGroups(Layouts / ListViews)。还值得注意的是Widget是一个包名(android.widget),文档中提到了以下内容:
小部件包包含(主要是可视的)用于您的UI元素 申请屏幕。
因此,将非可视UI元素也视为Widgets以及在widget包下定义的任何类是合理的。请参阅此处以获取小部件包中的完整类列表:http://developer.android.com/reference/android/widget/package-summary.html
App Widget: 不要与UI元素小部件混淆,App小部件是一个远程的View层次结构,最常显示在用户的主屏幕上。由文档定义:
App Widgets是可以嵌入的微型应用程序视图 其他应用程序(如主屏幕)和定期接收 更新。这些视图在用户界面中称为小部件, 并且您可以使用App Widget提供程序发布一个。一个应用程序 能够容纳其他App Widgets的组件称为App 小工具主持人。
<强>的ViewGroup:强> ViewGroup是View的子类,它提供了父视图和位置子视图的功能,例如Layouts。
布局/查看容器 与Widgets一样,没有Layout基类,因此它可以松散地定义为扩展ViewGroup的任何类,并提供定义子视图在其中的定位的能力。通常只有附加了世界布局的ViewGroup子类(如在LinearLayout,RelativeLayout中)被称为布局,其他扩展ViewGroup的类通常被称为视图容器。
最后,我建议您每当提及“观看”,“窗口小部件”或任何其他重要术语时,都要明确您的预期定义,以便人们可以更好地理解您所指的内容。
进一步阅读: what is the difference between views and widgets difference between view and widget
答案 3 :(得分:0)
将视图视为一个巨大的容器,其中包含占据屏幕上矩形区域并处理绘图和事件处理的任何内容。
虽然小部件是一组可用于构建用户界面的预构建视图,例如按钮,Checkbox,EditText。窗口小部件是视图的子集。
答案 4 :(得分:-1)
窗口小部件是应用程序外部(向用户显示)的视图,用于执行特定功能(启动主应用程序本身或提供应用程序本身的功能),而无需启动应用程序。
例如,时钟小部件显示您没有启动警报或时间应用程序的时间。
可以在以下位置找到更精确的定义:
Definition of widgets