1.什么是Fragment?
Fragment英文翻译为碎片,从安卓3.0开始应用这个概念,用它来代替原来的tobhost。也可以将fragment代表一个行为,或者是一个界面的一部分。主要是用于安卓Activity。
2.用Fragment解决什么问题?
用一句简单的话来说,Fragment主要是用于屏幕分辨率的问题。比如pad的读书软件就和手机上的读书软件不同,因为他们的尺寸不同,所以对同一产品需要设计不同的软件,而Fragment正好解决这个问题,他只要做一个软件,让软件自动适应屏幕。
3.Fragment静态加载方法
1)新建类继承Fragment。
2)重写onCreateView方法。
3)使用LayoutInflater对象中的inflater方法绑定布局和控件。
4)在Activity对应的布局文件中通过Fragment标签引用。
第一步
public class Fragmentone extends Fragment {
public Fragmentone() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.fragmentone, container, false);
return view;
}
第二部`
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
第三部
View view=inflater.inflate(R.layout.fragmentone, container, false);
第四部
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
4.Fragment动态加载方法
1)新建类继承Fragment。
2)重写onCreateView方法。
3)使用LayoutInflater对象中的inflater方法绑定布局和控件。
4)使用fragmentmanger和fragmenttransactio对对象进行动态加载。
第一步
public class Fragmentone extends Fragment {
public Fragmentone() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.fragmentone, container, false);
return view;
}
第二部`
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
第三部
View view=inflater.inflate(R.layout.fragmentone, container, false);
第四部
FragmentManager manager=getFragmentManager();//创建FragmentManager对象
// FragmentTransaction transaction=manager.beginTransaction();//创建FragmentTransaction对象
// transaction.replace(R.id.shop,manfragment);
// transaction.commit();//最后一步提交
5.viewpager+fragment实现动态滑块活动
先设配器包并进行适配器
public class Mypageradapter extends FragmentPagerAdapter {
private List<Fragment> mFragmentList;
public Mypageradapter(FragmentManager fm,List<Fragment> fragmentList) {
super(fm);
this.mFragmentList=fragmentList;
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
}
然后绑定适配器
//创建适配器对象
Mypageradapter pageradapter=new Mypageradapter(getSupportFragmentManager(),fragmentList);
//绑定适配器
viewPager.setAdapter(pageradapter);
最后调用onclick方法实现viewpager+fragment实现动态滑块活动
public void onClick(View view) {
switch (view.getId()){
case R.id.pyq_btn:
viewPager.setCurrentItem(0);
break;
case R.id.dt_btn:
viewPager.setCurrentItem(1);
break;
case R.id.lxr_btn:
viewPager.setCurrentItem(2);
break;
}
}