第9篇.Fragment相关
2016-08-16 08:34
155 查看
一、主要是描述下大致的使用步骤,主要是分三个部分,fragment部分、activity部分,两者通信部分
1、Fragment部分,这个部分从某种角度上来说是独立于activity的,这也就是fragment的优势,主要是给这个fragment找到一个layout,并找到他上面的控件,简单事例如下:
2、Activity部分,要在activity所在的layout.xml里面建立一个容器(就是一个布局),之后创建fragment对象,并把fragment对象导入到容器当中去即可
主要代码如下 ,思路为创建fragment管理器,增加删除fragment,显示和隐藏fragment:
private FragmentManager mFragmentManager;
private ImgPreviewFragment mImgPreviewFragment;
void ShowOrHidePreviewFragment(boolean show){
mFragmentManager = getFragmentManager();
FragmentTransaction transaction = mFragmentManager.beginTransaction();
if(mImgPreviewFragment == null){
mImgPreviewFragment = new ImgPreviewFragment();
}
if(show){
transaction.show(mImgPreviewFragment);
mImgPreviewFragment.SetHandler(myHandler);
transaction.commit();
}else{
transaction.hide(mImgPreviewFragment);
mImgPreviewFragment.SetHandler(null);
transaction.commit();
}
}
void AddOrRemovePreviewFragment(boolean add){
mFragmentManager = getFragmentManager();
FragmentTransaction transaction = mFragmentManager.beginTransaction();
if(mImgPreviewFragment == null){
mImgPreviewFragment = new ImgPreviewFragment();
}
if(add){
transaction.add(R.id.img_preview_content,mImgPreviewFragment);
}else{
transaction.remove(mImgPreviewFragment);
}
transaction.commit();
}
3、Activity和fragment之间的通信
Activity 到fragment,直接使用fragment对象的函数即可,fragment到Activity,一般是使用handler来进行,该handler由activity传递到fragment去
1、Fragment部分,这个部分从某种角度上来说是独立于activity的,这也就是fragment的优势,主要是给这个fragment找到一个layout,并找到他上面的控件,简单事例如下:
public class ImgPreviewFragment extends Fragment{ private View Pre_View; private TextView NumRatio; private ImageView TypeImg; private TextView SourceName; private LinearLayout VideoLayout; private ImageButton Pre; private ImageButton Play; private ImageButton Next; private ImageButton ToImageView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub View view = inflater.inflate(R.layout.lexus_img_preview, container, false); Pre_View = (View)view.findViewById(R.id.img_pre_info_layout); findView(); setOnClick(); return view; }
2、Activity部分,要在activity所在的layout.xml里面建立一个容器(就是一个布局),之后创建fragment对象,并把fragment对象导入到容器当中去即可
主要代码如下 ,思路为创建fragment管理器,增加删除fragment,显示和隐藏fragment:
private FragmentManager mFragmentManager;
private ImgPreviewFragment mImgPreviewFragment;
void ShowOrHidePreviewFragment(boolean show){
mFragmentManager = getFragmentManager();
FragmentTransaction transaction = mFragmentManager.beginTransaction();
if(mImgPreviewFragment == null){
mImgPreviewFragment = new ImgPreviewFragment();
}
if(show){
transaction.show(mImgPreviewFragment);
mImgPreviewFragment.SetHandler(myHandler);
transaction.commit();
}else{
transaction.hide(mImgPreviewFragment);
mImgPreviewFragment.SetHandler(null);
transaction.commit();
}
}
void AddOrRemovePreviewFragment(boolean add){
mFragmentManager = getFragmentManager();
FragmentTransaction transaction = mFragmentManager.beginTransaction();
if(mImgPreviewFragment == null){
mImgPreviewFragment = new ImgPreviewFragment();
}
if(add){
transaction.add(R.id.img_preview_content,mImgPreviewFragment);
}else{
transaction.remove(mImgPreviewFragment);
}
transaction.commit();
}
3、Activity和fragment之间的通信
Activity 到fragment,直接使用fragment对象的函数即可,fragment到Activity,一般是使用handler来进行,该handler由activity传递到fragment去
相关文章推荐
- android 之Fragment相关
- Fragment的相关用法第二篇
- Fragment中相关类的介绍
- TextVersion_07_Fragment相关细节
- ViewPager+Fragment相关,优化第一个Fragment启动速度
- andorid fragment相关知识
- Fragment 类相关小知识
- Fragment的生命周期和相关UI框架搭建
- Fragment相关源码阅读笔记(2)FragmentTransaction
- 【Android Fragment相关】DialogFragment怎么玩?
- Fragment相关源码解析二——生命周期
- Android viewpager结合fragment的相关优化
- Android随笔随想-GUI-Fragment相关学习
- 在Fragment控件的匿名内部类中使用运行时权限及相关问题
- fragment相关(笔记)
- Fragment相关源码解析一——FragmentManagerImpl和BackStackRecord
- Fragment的相关用法第三篇(张鸿洋)
- Fragment的生命周期以及相关库函数的执行流程总结
- Fragment相关知识点学习
- Tab相关控件API中的介绍翻译比较:TabLayout,FragmentTabHost,AppBarLayout