0

为什么fragment有属性class而anImageView没有?为什么我们需要这个class属性?例如,考虑:

<fragment class="com.expample.testfragment.Title"
      android:id="@+id/title"
      android:layout_weight="1"
      android:layout_width="0dp"
      android:layout_height="match_parent"
/>

并且:

<ImageView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/Img1"  
    android:layout_width="150dp" 
    android:layout_height="150dp"
    android:scaleType="fitXY" 
/>
4

1 回答 1

0

为什么 Fragment 具有属性 class=""

您需要它来指定在布局中代表该片段的类的路径(以fragment声明类的包的形式和类的实际名称fragment)(以便系统可以为您实例化它,构建 UI 等)。

但 ImageView 没有?

您可以为ImageView(或其他视图)设置类属性,但它将被忽略,拥有它没有任何意义,系统知道在哪里可以找到视图。

class属性可用于在布局中声明自定义视图,如下所示:

<view class="package.here.to.custom.view.CustomView" <!-- other attributes --> />

如果您将自定义视图声明为另一个类中的嵌套类,这将很有用。

于 2012-09-21T08:17:16.720 回答