视图中class属性的含义是什么

时间:2014-10-14 14:41:24

标签: android android-layout

我在xml文件视图中找到了以下类属性

类=" com.example.android.apis.view.VideoPlayerActivity $内容和#34;

<{3>} http://developer.android.com/reference/android/view/View.html 在android中的xml文件中使用完全限定的类名是什么意思。 通货膨胀时如何使用这一类。

2 个答案:

答案 0 :(得分:4)

有时您会发现默认组件不足以满足您的需求。您可以使用此class属性,以便在xml文件中使用您自己的组件。

例如,假设您已经创建了自己的组件,该组件扩展了TextView并具有一些附加功能,并将其命名为MyTextView。您可以在xml文件中使用它,如下所示:

<view
  class="com.project.my.MyTextView" 
  id="@+id/note"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent" />

您可能需要在Android文档中进一步阅读:http://developer.android.com/guide/topics/ui/custom-components.html

答案 1 :(得分:4)

<view
  class="A_public_view_Inner_class_full_package" 
  id="@+id/note" />

相当于

<A_public_view_class_full_package
  id="@+id/note"
  ...>

<A_public_view_class_full_package/>

但是&lt; view class =&#34; A_public_view_Inner_class_full_package&#34;使用如果Java编程中的类是Inner class

回到你的案子。因为VideoPlayerActivity $ Content是Inner类所以你必须使用&lt; view class =&#34;&#34;语法。

您不能将此定义用于内部课程

<com.example.android.apis.view.VideoPlayerActivity$Content
  id="@+id/note"
  .... />

更新:有人可能会问这个问题:为什么Android不使用&lt; com.example.android.apis.view.VideoPlayerActivity $ Content ... /&gt; 而非使用&lt; view class =&#34;&#34; /取代。 简单的答案是XML元素名称不能包含&#39; $&#39;出现在内部类名称中。

<强>结论:

  • 如果视图类不是Inner类,请使用常规方法在XML中定义View。
  • 如果视图是Inner class - &gt;使用&lt; view class =&#34;&#34;定义以XML格式查看。