android:layout_height=“match_parent”
android:text=“第一个界面”/>
3)编写pager的适配器的类
public class MyPageAdapter extends PagerAdapter{
private ListVL;
private ListTL;
public MyPageAdapter(Listvl,Listtl){
this.VL=vl;
this.TL=tl;
}
//相当于是返回的页卡数量
@Override
public int getCount() {
return VL.size ();
}
//View是否来来自于这个对象
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
//实例化一个页卡
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView (VL.get(position));
return VL.get (position);
}
//销毁一个页卡
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView (VL.get (position));
}
//设置Pager标题
@Override
public CharSequence getPageTitle(int position) {
return TL.get (position);
}
}
4)为了练习fragment,多写了一个fragment的适配器的类,他和pageradapter相比少了销毁页卡等的一点点功能
public class MyFragmentPagerAdapter extends FragmentPagerAdapter {
private ListFL;
private ListTL;
public MyFragmentPagerAdapter(FragmentManager fm,ListDL,ListTL) {
super (fm);
this.FL=DL;
this.TL=TL;
}
@Override
public Fragment getItem(int position) {
return FL.get(position);
}
@Override
public int getCount() {
return FL.size ();
}
}
5)多写几个fragment的类,作为数据源传入fragmentList
public class Fragment1 extends android.support.v4.app.Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate (R.layout.view1,container,false);
}
}
6)MainActivity中:
public class MainActivity extends FragmentActivity {
private ListVL;
private ViewPager VP;
private PagerTabStrip tab;
private ListTL;
private ListFL;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
setContentView (R.layout.main);
//VL存放View数据源.通过View对象座位数据源建立适配器(pageadap)
VL=new ArrayList ();
//titlelist为页卡设置标题
TL=new ArrayList ();
View view1=View.inflate (this,R.layout.view1,null);
View view2=View.inflate (this,R.layout.view2,null);
View view3=View.inflate (this,R.layout.view3,null);
View view4=View.inflate (this,R.layout.view4,null);
VL.add (view1);
VL.add (view2);
VL.add (view3);
VL.add (view4);
TL.add (“第一页”);
TL.add (“第二页”);
TL.add (“第三页”);
如何成为Android高级架构师!
架构师必须具备抽象思维和分析的能力,这是你进行系统分析和系统分解的基本素质。只有具备这样的能力,架构师才能看清系统的整体,掌控全局,这也是架构师大局观的形成基础。 你如何具备这种能力呢?一是来自于经验,二是来自于学习。
架构师不仅要具备在问题领域上的经验,也需要具备在软件工程领域内的经验。也就是说,架构师必须能够准确得理解需求,然后用软件工程的思想,把需求转化和分解成可用计算机语言实现的程度。经验的积累是需要一个时间过程的,这个过程谁也帮不了你,是需要你去经历的。
但是,如果你有意识地去培养,不断吸取前人的经验的话,还是可以缩短这个周期的。这也是我整理架构师进阶此系列的始动力之一。
成为Android架构师必备知识技能
对应导图的学习笔记(由阿里P8大牛手写,我负责整理成PDF笔记)
部分内容展示
《设计思想解读开源框架》