Code Bye

为什么2种自定义View引入方式不同

一、在Android中存在自定义组件,假如进入布局文件中直接使用,假如想要使用这个组件,那么就可以直接类名打点调用。例如:类为:ClearEditText extends EditText。

那么布局文件中假如想使用ClearEditText那么直接通过:

<com.example.clearedittext.ClearEditText

        android:id=”@+id/password”

        android:layout_marginLeft=”10dip”

        android:layout_marginRight=”10dip”

        >

</com.example.clearedittext.ClearEditText>方式定义即可。

但是在Fragement类中出现另外一种情况:

类名为:FragementTitle extends Fragment

那么去主布局文件中引入FragementTitle时候布局中引入方式为:

  <fragment

     android:id=”@+id/fragement_title”

android:name=”net.tycmc.fragementdemo.FragementTitle”

        android:layout_width=”wrap_content”

        android:layout_height=”wrap_content”

       />

为什么2种引入方式不同?个人猜测第一种方式类是View,所以那样引入无可厚非,然而fragement和View不沾边,是普通的类,但是还想作为布局部分而存在。所以像第一种方式那么引入会出现问题,只能通过android:name方式来引入。

解决方案:20分
Fragment和View本来就是两种东西。
解决方案:20分
view不用管理本人的生命周期,在activity中,它由activity来管理的。

而fragment,和activity很相似,它像activity一样,是为了有效管理view而存在的。

两者本身就不同,假如说二者的关系,那就可以比喻为view子fragment父了。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明为什么2种自定义View引入方式不同