概述
两种创建Fragment的方式:
1.在layout中添加<Fragment/>
2.在Activity中动态添加。
在layout中添加<Fragment/>:
在activity_main.xml中添加一个fragment:
<span style="font-family:Microsoft YaHei;"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <fragment android:name="com.example.fragmenttest.MyFragment" android:id="@+id/fragment" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <LinearLayout android:id="@+id/linear" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_below="@id/fragment"> <Button android:id="@+id/btn3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="btn3" /> </LinearLayout> </RelativeLayout> </span>
有几点需要注意:
fragment android:name="com.example.fragmenttest.MyFragment"是我们自己建的MyFragment类。
创建一个Fragment和创建一个Activity很类似,继承Fragment类,重写生命周期方法,主要的不同之处就是需要重写一个onCreateView()方法来返回这个Fragment的布局。
<span style="font-family:Microsoft YaHei;">package com.example.fragmenttest; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class MyFragment extends android.support.v4.app.Fragment{ @Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub System.out.println("ExampleFragment--onCreateView"); <span style="white-space:pre"></span>return inflater.inflate(R.layout.example_fragment_layout, container, false); } @Override public void onPause() { // TODO Auto-generated method stub super.onPause(); } @Override public void onResume() { // TODO Auto-generated method stub super.onResume(); } @Override public void onStop() { // TODO Auto-generated method stub super.onStop(); } }</span>
在Activity中动态生成Fragment:
需要注意几点:
1.生成fragment的这个Activity要继承FragmentActivity
2.引入:import android.support.v4这个包里面的内容
3.必须用容器包含fragment
代码如下:
<span style="font-family:Microsoft YaHei;">package com.example.fragmenttest; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.view.Menu; public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //在程序中加入Fragment FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); MyFragment fragment = new MyFragment(); fragmentTransaction.add(R.id.linear, fragment); fragmentTransaction.commit(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }</span>
最后
以上就是苹果衬衫为你收集整理的安卓之Fragment详解的全部内容,希望文章能够帮你解决安卓之Fragment详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复