首页 > 代码库 > android.support.v4.app.Fragment 和 android.app.Fragment区别
android.support.v4.app.Fragment 和 android.app.Fragment区别
今天在公司遇到一个android.app.Fragment 和android.support.v4.app.Fragment 的问题。
(1)android.app.Fragment:兼容的最低版本是android:minSdkVersion="11"因此你的应用不能兼容3.0以下的应用。
可以使用<fragment>标签的,这点很重要,如果是用android.support.v4.app.Fragment的话,是不能是用<fragment>标签的,会抛出android.view.InflateException: Binary XML file line #7: Error inflating class fragment异常
(2)android.support.v4.app.Fragment:可以兼容到1.6的版本,不能使用<fragment>标签,需要在程序中通过add或者replace的方式添加,同时还需要
android-support-v4.jar
两个Fragment的Manager 获取注意的方式也不一样
第一个android.app.Fragment 的布局方式 ---- Manager getFragmentManager //得到manager
<fragment android:id="@+id/fragment1" android:layout_width="wrap_content" android:layout_height="wrap_content" />
第二个android.support.v4.app.Fragment的方式 主Activity 必须继承 FragmentActivity --------- Manager getSupportFragmentManager 得到的Manager
注意导入的包
第一种方式布局
<fragment android:id="@+id/fragment1" <span style="color:#ff0000;"><strong>android:name="com.text.fragment"</strong> </span> android:layout_width="wrap_content" android:layout_height="wrap_content" />
注意上面的name 是你子fragment的路径地址
第二种方式布局
<FrameLayout android:id="@+id/fragment1" android:layout_width="wrap_content" android:layout_height="wrap_content" />
两种不能混合使用特别注意。希望有帮助。
android.support.v4.app.Fragment 和 android.app.Fragment区别