ViewPage

来源:互联网 发布:软件shop floor editor 编辑:程序博客网 时间:2024/04/29 05:46
public class MainActivity extends Activity {public static final String TAG = MainActivity.class.getSimpleName();ViewPager pager = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//学习ViewPage//ViewPage可以实现滑动 使用PageAdatperpager = (ViewPager) this.findViewById(R.id.pager);pager.setAdapter(new MyPagerAdatper(this));pager.setCurrentItem(Integer.MAX_VALUE /2);}private class MyPagerAdatper extends PagerAdapter {private List<Drawable> lists = null;private Context mContext;public MyPagerAdatper(Context context) {super();mContext = context;lists = new ArrayList<Drawable>();lists.add(mContext.getResources().getDrawable(R.drawable.ic_launcher));lists.add(mContext.getResources().getDrawable(R.drawable.ic_launcher));lists.add(mContext.getResources().getDrawable(R.drawable.ic_launcher));lists.add(mContext.getResources().getDrawable(R.drawable.ic_launcher));}//得到adapter的个数@Overridepublic int getCount() {Log.i(TAG, "getCount");return Integer.MAX_VALUE;}                //是否把对象作为view@Overridepublic boolean isViewFromObject(View view, Object obj) {Log.i(TAG, "isViewFromObject");return view == (View) obj;}@Overridepublic void startUpdate(ViewGroup container) {// TODO Auto-generated method stubLog.i(TAG, "startUpdate");super.startUpdate(container);}                //初始化一个item@Overridepublic Object instantiateItem(ViewGroup container, int position) {Log.i(TAG, "instantiateItem");View view = View.inflate(mContext, R.layout.img, null);ImageView iv = (ImageView) view.findViewById(R.id.img);int size = lists.size();int location = Integer.MAX_VALUE % size;iv.setImageDrawable(lists.get(location));((ViewPager) container).addView(view);return view;}                                 //pageAdatper与BaseAdapter有很大区别,现在我理解为ViewPager释放有adapter处理@Overridepublic void destroyItem(View container, int position, Object object) {// TODO Auto-generated method stubLog.i(TAG, "destroyItem");((ViewPager) container).removeView((View) object);}@Overridepublic void destroyItem(ViewGroup container, int position, Object object) {// TODO Auto-generated method stubLog.i(TAG, "destroyItem");super.destroyItem(container, position, object);}@Overridepublic void setPrimaryItem(ViewGroup container, int position, Object object) {// TODO Auto-generated method stubLog.i(TAG, "setPrimaryItem");super.setPrimaryItem(container, position, object);}@Overridepublic void finishUpdate(ViewGroup container) {// TODO Auto-generated method stubLog.i(TAG, "finishUpdate");super.finishUpdate(container);}@Overridepublic void startUpdate(View container) {// TODO Auto-generated method stubLog.i(TAG, "startUpdate");super.startUpdate(container);}@Overridepublic Object instantiateItem(View container, int position) {// TODO Auto-generated method stubLog.i(TAG, "instantiateItem position:" + position);return super.instantiateItem(container, position);}@Overridepublic void setPrimaryItem(View container, int position, Object object) {// TODO Auto-generated method stubLog.i(TAG, "setPrimaryItem position:" + position);super.setPrimaryItem(container, position, object);}@Overridepublic void finishUpdate(View container) {// TODO Auto-generated method stubLog.i(TAG, "finishUpdate");super.finishUpdate(container);}@Overridepublic Parcelable saveState() {// TODO Auto-generated method stubLog.i(TAG, "saveState");return super.saveState();}@Overridepublic void restoreState(Parcelable state, ClassLoader loader) {// TODO Auto-generated method stubLog.i(TAG, "restoreState");super.restoreState(state, loader);}@Overridepublic int getItemPosition(Object object) {// TODO Auto-generated method stubLog.i(TAG, "getItemPosition");return super.getItemPosition(object);}@Overridepublic void notifyDataSetChanged() {// TODO Auto-generated method stubLog.i(TAG, "notifyDataSetChanged");super.notifyDataSetChanged();}@Overridepublic CharSequence getPageTitle(int position) {// TODO Auto-generated method stubLog.i(TAG, "getPageTitle position:" + position);return super.getPageTitle(position);}                //这个是一个很有用的方法默认返回1.0f,权重比例@Overridepublic float getPageWidth(int position) {// TODO Auto-generated method stubLog.i(TAG, "getPageWidth position:" + position);return super.getPageWidth(position);}}}
0 0
原创粉丝点击