它们两个都链接到相同的TextView.java文件,并且在“设计”选项卡上看起来相同。问题是,什么时候应该使用短<TextView ... />
,什么时候应该使用长<android.widget.TextView />
我可以使用<ConstraintLayout>
代替<android.support.constraint.ConstraintLayout>
(两者都链接到相同的ConstraintLayout.class,但在设计选项卡上看起来不同),以及如何知道如何使用小部件和其他android reference的“组件”
答案 0 :(得分:3)
关于默认小部件,您可以在 Android 框架的android.view
和android.widget
软件包中找到它们,因此可以省略软件包名称,因为无论如何它都是隐式搜索的。
由于ConstraintLayout
不是默认的窗口小部件,因此无法使用它来省略程序包名称。
除了默认的小部件包之外, AndroidX 替换了解析器组件,用于解析实际的类,因此<TextView>
实际上解析为AppCompatTextView
,因此最好不要使用类的别名,例如<android.widget.TextView>
。
答案 1 :(得分:1)
<TextView />
和<android.widget.TextView />
相同。您可以互换使用它,因为它们是Android基本组件的一部分。
但是,如果使用ConstraintLayout,它将作为您添加到应用程序的build.gradle文件中的支持库的一部分。要从中访问一个类,您需要完全告诉xml您想要该特定包中的ConstraintLayout。
答案 2 :(得分:1)
问题是我何时应该使用短
<TextView ... />
,何时应该使用长<android.widget.TextView />
两者都是相同的,您可以使用任何一种,最好使用<TextView ... />
,因为大多数开发人员都使用它,并且编写的代码更少。
我可以使用
<ConstraintLayout>
代替<android.support.constraint.ConstraintLayout>
不,您不能在android中使用它,但您必须使用单独的支持库才能使用它implementation 'com.android.support.constraint:constraint-layout:1.1.3'
我怎么知道如何使用Android参考中的小部件和其他“组件”
任何带有软件包android.widget.xxxx
或android.view.xxxx
的东西都直接使用xxxx
,而其他人则在布局中使用完整的软件包名称。