Fragment入门
来源:互联网 发布:money理财通mac版破解 编辑:程序博客网 时间:2024/05/21 08:52
Fragment: 片段 碎片的。是轻量级的activity
因此和activity一样,展现界面的 ,生命周期和使用方式也和activity相同,不同的是fragment不需要在清单文件中配置。
import android.app.Fragment;
public class Fragment01 extends Fragment{@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {return super.onCreateView(inflater, container, savedInstanceState);}}
如上图:导入的是android.app.Fragment包,此fragment只能用于3.0以上版本。
继承后,需要重新的方法为onCreateView:此方法是返回当前fragment的界面
参数中inflater:意思为打气筒,充气的意思:作用是填充fragment布局内容,也就是加载布局文件显示内容。
先创建一个布局文件:network.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#44ff00ff" android:orientation="vertical" > <TextView android:id="@+id/tv_network" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="设置网络界面" /> <CheckBox android:id="@+id/cb_network" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开启wifi" /></LinearLayout>
再在Fragment01中填充:
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View view=inflater.inflate(R.layout.network, null);return view;}
fragment因为要依附在activity中,所以还要配置主界面layout activity_main.xml
<LinearLayout 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:orientation="horizontal" tools:context=".MainActivity" > <LinearLayout android:layout_width="100dp" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/bt_main_network" android:layout_width="100dp" android:layout_height="wrap_content" android:text="网络设置" android:onClick="click" /> <Button android:id="@+id/bt_main_language" android:layout_width="100dp" android:layout_height="wrap_content" android:text="语言设置" android:onClick="click" /> </LinearLayout> <FrameLayout android:id="@+id/fl_main" android:layout_width="match_parent" android:layout_height="match_parent" ></FrameLayout></LinearLayout>
一般frameLayout来显示fragment的界面
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}/** * 按钮点击事件 */public void click(View v){switch(v.getId()){case R.id.bt_main_network:Fragment01 network=new Fragment01();//获取fragment管理器getFragmentManager().//开启事务beginTransaction().//替换frameLayout布局replace(R.id.fl_main, network).//提交commit();break;case R.id.bt_main_language:break;}}以上为:主界面Activity代码
效果图:
向下兼容:也就是能够在3.0版本以下可以显示:就需要导入:android-support-v4.jar:向下兼容最低为1.5版本
修改代码如下:
fragment导入:
import android.support.v4.app.Fragment;
主界面activity继承
public class MainActivity extends FragmentActivity
case R.id.bt_main_network:Fragment01 network=new Fragment01();//获取fragment管理器getSupportFragmentManager().//开启事务beginTransaction().//替换frameLayout布局replace(R.id.fl_main,network).//提交commit();break;
获取fragment管理器调用的api改变了。。。。
然后就好兼容低版本了
0 0
- Fragment之一:Fragment入门
- Fragment之一:Fragment入门
- Fragment入门
- Fragment入门
- fragment入门
- Fragment 入门
- Fragment入门
- fragment入门
- fragment 使用篇--入门
- Android-Fragment入门用法
- fragment的入门DEMO
- Fragment的快速入门
- Android fragment入门一
- Android fragment入门二
- Android入门之Fragment
- android Fragment入门
- 【Android】Fragment入门
- android Fragment 入门介绍
- linux随笔(11)---umask和chmod
- 学习总结(C++课程感受)+目标
- 数据结构之顺序栈
- REST框架SerfJ
- Ubuntu 14.04 desktop 不能安装 openssh-server解决方法
- Fragment入门
- 请求转发与重定向(服务器与客户端跳转)
- 老生常谈:struct2文件下载(带点击取消出现的异常解决办法)
- 第一次作业
- 四、Linux/UNIX操作命令积累【chmod、chown、tail】
- UVAlive 6560 - The Urge to Merge(状压dp)
- ubuntu下python基础学习一
- 在线调试工具BTrace 的使用--例子
- 《浪潮之巅》16科技公司的吹鼓手 -- 投资银行