浅谈如何静态创建Fragment
来源:互联网 发布:牛耳软件教育 编辑:程序博客网 时间:2024/04/30 03:02
在安卓3.0版本之后,安卓推出了fragment,可以这样理解,fragment是一种轻量级的Activity。
静态创建Activity,静态创建Fragment实际上是大同小异的。
我们先比较一下:
Activity:首先创建一个xml文件,然后创建与之对应的java文件,通过设置让两者关联,最后在主清单中进行注册。
Fragment:首先我们同样需要注册一个xml文件,然后创建与之对应的java文件,通过onViewCreate()的返回方法进行关联,最后我们需要在Activity中进行配置相关参数。
首先是XML文件,如下,只做了设置背景色
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:background="#ff0000" android:layout_height="match_parent" android:orientation="vertical" ></LinearLayout>
接下来是java文件,我们需要复写onViewCreate()方法,代码如下
package com.example.fragment;import android.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class Fragment1 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment1, null); }}
这样二者就关联了,接下来我们在Activity中创建fragment的位置
<fragment android:id="@+id/fragment1" android:layout_width="0dip" android:layout_height="wrap_content" android:layout_weight="1" android:name="com.example.fragment.Fragment1" />
这样我们就实现了静态的创建一个fragment的方法
总结,同样是同Activity一样的操作,fragment的要比Activity少一级
接下来是动态创建fragment,我们需要的就是将上面的第三步不要做,将这个步骤放在代码里面执行
1、我们首先应该得到一个FragmentManager
2、通过获得Fragment之后我们可以通过得到一个事件beginTransaction()
3、通过replace方法实现界面的动态变化
Deom代码如下:
FragmentManager fm=getFragmentManager(); FragmentTransaction fts=fm.beginTransaction(); Fragment1 fragment1=new Fragment1(); Fragment2 fragment2=new Fragment2(); int width=getWindowManager().getDefaultDisplay().getWidth(); int height=getWindowManager().getDefaultDisplay().getHeight(); if(width>height) { fts.replace(android.R.id.content, fragment1); } else { fts.replace(android.R.id.content, fragment2); } fts.commit();
由于是事件,所以千万要记得提交。
总结,动态创建的方式就是,得到一个管理器,然后得到一个事件,然后通过事件里面的方法进行设置。
0 0
- 浅谈如何静态创建Fragment
- android 静态创建fragment
- 静态创建使用Fragment
- Tablayout静态创建Fragment
- Fragment学习记录一 静态创建fragment
- Fragment的静态创建、动态创建
- Fragment的创建、动态绑定、静态绑定
- Fragment静态和动态创建的区别
- Android -- fragment, 动态创建,创建选项卡,静态创建,fragment之间的通信
- 浅谈Fragment
- 浅谈 Fragment
- 浅谈Fragment
- 浅谈Fragment
- 静态Fragment
- 静态Fragment
- Fragment传参:使用静态工厂方法来创建Fragment的实例
- Android Fragment---创建Fragment
- Android Fragment---创建Fragment
- java中的==、equals和hashCode以及hashCode生成
- 有序数组a,b,找出a,b(合并为一个大的有序数组后)中第k个数
- C#界面美化之美化单个控件
- 黑马程序员_JAVA:面对对象
- java中的枚举
- 浅谈如何静态创建Fragment
- 黑马程序员_JAVA:内部类
- 第十六章PHY -基于Linux3.10
- 基于百度云推送的高仿微信实时聊天Android源码+
- 有序数组A,B的中位数
- 黑马程序员_JAVA:网络编程
- hdu2844
- linux修改内核频率
- 设计模式总论