究竟什么被视为"视图"?

Cpt*_*rkt 3 android terminology android-view

刚刚完成开始教程,虽然我的应用运行正常,但我只是想确保我的Android术语正确.

例如,我经历的第一个应用程序教程是否修改了activity_main.xml以包含:

<EditText android:id="@+id/edit_message"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:hint="@string/edit_message"
    android:layout_weight="1" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_send"
    android:onClick="sendMessage" />
Run Code Online (Sandbox Code Playgroud)

我是否理解这些(EditText,Button)元素本身是单独的视图?换句话说,上面的代码包含两个"视图",而不是两个"控件"?稍后在代码中我们遇到了一个名为TextView的东西,它直接在其中包含"View"一词,而其他的则没有,这有点让我失望.

我唯一的另一个经验是ASP.Net和C#web开发,所以我想我的问题可以表达为,Android"Views"相当于ASP.Net Web Controls(asp:DropDownList,asp:Button等)?如果我想在上面的代码中添加更多控件,比如更多按钮,我会说,"我要为这个布局添加更多视图?" 或者是,"我要为这个视图添加更多控件?" 要么...?

Bar*_*rak 5

视图基本上是屏幕上显示的任何内容,无论是按钮,文本,列表......

您的完整布局是一个视图,其中包含的每个项目也是一个视图.

<RelativeLayout>
    <TextView/>
    <EditText/>
    <LinearLayout>
        <Button>
        <Button>
    </LinearLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

在上面,RelativeLayout,LinearLayout,TextView,EditText和Buttons都是"视图".LinearLayout和RelativeLayout是容器视图,但它们仍可作为视图引用,以便对它们执行某些功能.