最近项目中用到ViewPage,因此对这个3.1之后新增的接口做了一些基本了解,供大家参考:
1、ViewPage源码路径:android.support.v4.view.ViewPager,需要导入android-support-v4.jar包;
2、ViewPage继承自ViewGroup
注:Android里面所有的控件都继承自View,包括ViewGroup;
3、ViewPage使用方式:
既然知道ViewPager继承自ViewGroup,那就是向ViewPager中添加View即可,这里就想到了ListView、GridView、Gallery添加View都是用Adapter,没错,ViewPager也是用Adapter添加数据:
下面直接贴代码:
配置文件:
主类中完成初始化并启动:
这样就完成了对ViewPager的配置,简单吧!
《Android ViewPager切换的N种动画》http://gqdy365.iteye.com/blog/2114968
1、ViewPage源码路径:android.support.v4.view.ViewPager,需要导入android-support-v4.jar包;
2、ViewPage继承自ViewGroup
public class ViewPager extends ViewGroup
注:Android里面所有的控件都继承自View,包括ViewGroup;
3、ViewPage使用方式:
既然知道ViewPager继承自ViewGroup,那就是向ViewPager中添加View即可,这里就想到了ListView、GridView、Gallery添加View都是用Adapter,没错,ViewPager也是用Adapter添加数据:
android.support.v4.view.PagerAdapter
下面直接贴代码:
public class MyAdapter extends PagerAdapter {
List<ImageView> mList = null;
ViewPager vPage = null;
MyAdapter(List<ImageView> list, ViewPager page) {
mList = list;
vPage = page;
}
@Override
public int getCount() {
return mList.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View view = mList.get(position);
view.setId(position);
container.addView(view);
return view;
}
}
配置文件:
<android.support.v4.view.ViewPager
android:id="@+id/main_page"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FF000000" />
主类中完成初始化并启动:
vPage = (ViewPager) findViewById(R.id.main_page);
mAdapter = new MyAdapter(mData, vPage);
vPage.setAdapter(mAdapter);
vPage.setCurrentItem(mData.size() / 2);
这样就完成了对ViewPager的配置,简单吧!
《Android ViewPager切换的N种动画》http://gqdy365.iteye.com/blog/2114968