在布局xml中,标签<view>有什么作用?

9
我注意到在Android布局xml中有一个<view>标签(不是<View>)。当我在布局xml中添加这样的标签时,应用程序可以成功编译,但在运行时会崩溃。那么这个<view>标签用来做什么?

2
我注意到在Android布局xml中可以使用一个标签<view>(而不是<View>),你能指出一些地方,无论是官方文档还是官方Android代码(示例,AOSP应用程序等)都在使用它吗? - CommonsWare
@CommonsWare 在Android Studio中,当您键入<view时,您可以看到弹出菜单中有一个名为“view”的选择。 - shhp
@CommonsWare:我在这里找到了一些文档:http://developer.android.com/reference/android/view/package-summary.html,在XML中,视图描述说:“一个视图标记,其类属性命名要实例化的类”。 - nvinayshetty
2
@CommonsWare 我没有看到任何代码使用这个标签。我只是好奇为什么Android Studio会提供这样一个指示性的选择,如果它是无用的。 - shhp
1
有趣的是,当我使用快速完成时,视图具有一个名为class的属性,其中仅列出customViews。<view android:layout_width="fill_parent" class="pkgname.ui.yourCustomView" android:layout_width="match_parent" android:layout_height="1dp"/> - nvinayshetty
显示剩余9条评论
2个回答

6

view是指定要膨胀的视图的替代方法。您需要将其与class属性结合使用以指定类名。

如果您的视图类是内部类,并且您无法在XML中使用带有$的标记名称,则此方法非常“有用”。(但是,将内部类作为您膨胀的View不是一个很好的想法。)

例如:

<view class="your.app.full.package.Something$InnerClass" ... />

参考资料:http://androidxref.com/5.0.0_r2/xref/frameworks/base/core/java/android/view/LayoutInflater.java#696

(该链接指向Android中的“LayoutInflater”类的源代码)

如果视图是内部类,那么如何在没有外部类实例的情况下进行实例化呢? - shhp
当然需要是静态的。 - laalto

-1

View是Android中的小部件,用于添加任何类型的视图。例如,在使用ScrollView时,在活动的底部有按钮,这时我们添加视图以使其看起来更好。我们可以为View设置任何颜色。 例如:

这将创建一个高度为20dp的View。


我的意思是 <view> 中的字母“v”是小写的。 - shhp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接