你的位置:首页 > 软件开发 > 操作系统 > 打造属于自己的安卓Metro界面

打造属于自己的安卓Metro界面

发布时间:2015-04-08 02:02:23
前言:各位小伙伴,又到了每周更新文章了时候了,本来是周日能发出来呢,这不是赶上清明节吗,女王大人发话了,清明节前两天半陪她玩,只留给我周一下午半天时间写博客,哪里有女王哪里就有压迫呀有木有!好了闲话少说,上一篇博客(Android Metro风格的Launcher开发系列第二篇) ...

前言:

各位小伙伴,又到了每周更新文章了时候了,本来是周日能发出来呢,这不是赶上清明节吗,女王大人发话了,清明节前两天半陪她玩,只留给我周一下午半天时间写博客打造属于自己的安卓Metro界面,哪里有女王哪里就有压迫呀有木有!好了闲话少说,上一篇博客(Android Metro风格的Launcher开发系列第二篇)说到Launcher主体框架用ViewPager来实现,这一篇博客咱们来说说每一个page的具体实现。

PagerAdapter:

        Launcher主体ViewPager实现就引出了PagerAdapter,PagerAdapter是android.support.v4包中的类,它的子类有FragmentPagerAdapter, FragmentStatePagerAdapter,这两个adapter都是Fragment的适配器,这里因为没有用到Fragment所以这里不讲,我只讲PagerAdapter。关于PageAapter的描述,Google官网原文是这样的:Base class providing the adapter to populate pages inside of a ViewPager.  You will most likely want to use a more specific implementation of this, such as FragmentPagerAdapter or FragmentStatePagerAdapter,大致就是说PagerAdapter是ViewPager提供的一个适配器,方便我们对ViewPager的每一个View进行控制。我的PagerAdapter是这样实现的:

public class LauncherAdapter extends PagerAdapter {  private ArrayList<PageViewItem> mViews;   public LauncherAdapter(ArrayList<PageViewItem> views) {    mViews = views;  }   @Override  public void destroyItem(View arg0, int arg1, Object arg2) {    ((ViewPager) arg0).removeView(mViews.get(arg1));  }   @Override  public void finishUpdate(View arg0) {  }   @Override  public int getCount() {    if (mViews != null) {      return mViews.size();    }    return 0;  }   public View getCurrentView(int currentID) {    return mViews.get(currentID);  }   @Override  public Object instantiateItem(View arg0, int arg1) {    ((ViewPager) arg0).addView(mViews.get(arg1));    return mViews.get(arg1);  }   @Override  public boolean isViewFromObject(View arg0, Object arg1) {    return (arg0 == arg1);  }   @Override  public void restoreState(Parcelable arg0, ClassLoader arg1) {  }   @Override  public Parcelable saveState() {    return null;  } }

原标题:打造属于自己的安卓Metro界面

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录