Activity转换为View和把图片转换为View

package com.example.viewpager01;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.app.LocalActivityManager;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.support.v4.view.PagerAdapter;import android.support.v4.view.ViewPager;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.Window;import android.widget.ImageView;import android.widget.ImageView.ScaleType;public class MainActivity extends Activity {private ViewPager viewPager;private List<View> viewList;private View view1, view2, view3; ////Context context = null;LocalActivityManager manager = null; //这里要实现把Activity转换为Viewprivate int[] ids = { R.drawable.guide_page_1, R.drawable.guide_page_2,R.drawable.guide_page_3 };//存放图片数组,这里要实现把图片转换为View @Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.user_lader);manager = new LocalActivityManager(this , true); manager.dispatchCreate(savedInstanceState); viewList=new ArrayList<View>();for (int i = 0; i < ids.length; i++) {ImageView iv = new ImageView(this);iv.setImageResource(ids[i]);ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT);iv.setLayoutParams(params);iv.setScaleType(ScaleType.FIT_XY);viewList.add(iv);}Intent intent = new Intent(getApplicationContext(), A.class);viewList.add(getView("A", intent));// 1,viewPager = (ViewPager) findViewById(R.id.view_pager);// 2,PageAdapter 必须重写的四个函数:/** boolean isViewFromObject(View arg0, Object arg1) int getCount() void* destroyItem(ViewGroup container, int position,Object object) Object* instantiateItem(ViewGroup container, int position)*/viewPager.setAdapter(new PagerAdapter() {@Overridepublic int getCount() {if(viewList==null){ return 0;}else{return viewList.size(); //getCount():返回要滑动的VIew的个数}}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {//return arg0 == arg1; //isViewFromObject():对于这个函数就先不做讲解,,大家目前先知道它要这样重写就行了,后面我们会对它进行改写。//System.out.println("position===isViewFromObject======"+(int)Integer.parseInt(arg1.toString())+(arg0 == viewList.get((int)Integer.parseInt(arg1.toString()))));return arg0 == viewList.get((int)Integer.parseInt(arg1.toString()));////根据传来的key,找到view,判断与传来的参数View arg0是不是同一个视图}@Overridepublic Object instantiateItem(ViewGroup container, int position) {container.addView(viewList.get(position)); //做了两件事,第一:将当前视图添加到container中,第二:返回当前View//return viewList.get(position);//System.out.println("position===instantiateItem======"+position);return position; // //把当前新增视图的位置(position)作为Key传过去 }@Overridepublic void destroyItem(ViewGroup container, int position,Object object) { if(position==1){viewList=null;}else{//System.out.println("position====destroyItem====="+position);container.removeView(viewList.get(position)); //从当前container中删除指定位置(position)的View;}}});}private View getView(String id, Intent intent) { return manager.startActivity(id, intent).getDecorView(); }}

版权声明:本文为博主原创文章,未经博主允许不得转载。

没有行李,没有背包,不带电脑更不要手机,

Activity转换为View和把图片转换为View

相关文章:

你感兴趣的文章:

标签云: