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转换为View

private int[] ids = { R.drawable.guide_page_1, R.drawable.guide_page_2,R.drawable.guide_page_3 };//存放图片数组,这里要实现把图片转换为View

   

@Override

public 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() {

@Override

public int getCount() {

if(viewList==null)

{

  return 0;

}

else

{

 return viewList.size();  //getCount():返回要滑动的VIew的个数

}

}





@Override

public 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是不是同一个视图 

}





@Override

public 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传过去  

}





@Override

public 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的更多相关文章

  1. android 开发 View _8_ 动态图片自定义View

    转载地址:https://blog.csdn.net/mengks1987/article/details/77770922 先来看下效果: 是不是有一种熟悉感,其实这种效果使用序列帧动画也是可以实现 ...

  2. bug_ _图片_android.view.InflateException: Binary XML file line #1: Error inflating class <unknown>

    =========== 1   java.lang.RuntimeException: Unable to start activity ComponentInfo{com.zgan.communit ...

  3. Android View转换成图片保存

    package zhangphil.viewtoimage; import java.io.File;import java.io.FileOutputStream; import android.o ...

  4. view保存为图片

    一.概述 简书.微博.便签等都有将文章保存为图片的功能.笔者臆测,此功能的实现原理如下. 二.实现 2.1将View保存成Bitmap对象 方法1(亲测有效) private Bitmap makin ...

  5. windows+caffe(二)——图片转换为levedb格式

    借鉴于langb2014的  http://blog.csdn.net/langb2014/article/details/50458520 与liukailun09的  http://blog.cs ...

  6. c# winform 把彩色图片转换为灰色的图片,变灰,灰度图片,速度很快,safe,unsafe

    把彩色图片转换为灰色的图片,直接用.net接口遍历每个像素点转换的效率非常低,800K的图片65万像素我的电脑要用5分钟,而用了unsafe,速度提高了几千倍,同样的图片只用了0.几秒 附一个常用的遍 ...

  7. 设置一个View的背景图片的集中方法

    控制器view的背景图片的方法, 四种: 1.直接在控制器view上添加一个imageView大小设置的和view一样 UIImageView *beijingimage = [UIImageView ...

  8. BMP图片转换为JPEG图片

    原文:BMP图片转换为JPEG图片 昨天在家学习,发现很多人把BMP图片转换为其它图片格式,有些人写得简单,有些人写得复杂. Insus.NET在想,一直在做文件上传,下载,或是图片剪切,都有进行过文 ...

  9. 将图片转换为base64 格式

    1.页面上的图片,转换成base64格式,可以通过canvas 的 toDataURL 例子:给定图片的url 将图片转换为base64 var imageSrc = "../images/ ...

随机推荐

  1. string.split 应用

    采用string.split将字符串依据分隔符,转换成字符串数组,生成的字符串数组中会包含空数组元素,需要通过StringSplitOptions.RemoveEmptyEntries参数选项去除. ...

  2. ECNUOJ 2149 华丽的队列

    华丽的队列 Time Limit:3000MS Memory Limit:65536KBTotal Submit:531 Accepted:68 Description  每年,都有很多新同学来到我们 ...

  3. 洛谷 P1125 笨小猴

    P1125 笨小猴 题目描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设max ...

  4. Trie树的常见应用大总结(面试+附代码实现)

    (一)Trie的简单介绍 Trie树,又称字典树,单词查找树或者前缀树.是一种用于高速检索的多叉树结构,如英文字母的字典树是一个26叉树.数字的字典树是一个10叉树. 他的核心思想是空间换时间,空间消 ...

  5. 数据格式转换 (三)Office文档转HTML

         HTML Filter 是由北京红樱枫软件有限公司根据HTML Ver 4.01/CSS式样,研制和开发的MS Office系列文档到HTML转换的通用程序库.便于用户实现对多种文档的统一管 ...

  6. CO-PRIME(初探 莫比乌斯)NYOJ1066(经典)gcd(a,b)=1

    CO-PRIME 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描写叙述 This problem is so easy! Can you solve it? You are ...

  7. java httpRequest和Response

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...

  8. epson 630打印机驱动安装不上

    1号机: 连接到630打印机的电脑 2号机: 通过网络连接到630打印机 *现状: 直接将数据线插在2号机上安装打印机时,驱动安装不上,设备管理器中有“!”号 *原因: 可能是已有一台通过网络连接到1 ...

  9. JS — 对象的基本操作

    JS面向对象系列教程 — 对象的基本操作 面向对象概述  面向对象(Object Oriented)简称OO,它是一种编程思维,用于指导我们如何应对各种复杂的开发场景. 这里说的对象(Object) ...

  10. mysql InnoDB加锁分析

    文章转载自:http://www.fanyilun.me/2017/04/20/MySQL%E5%8A%A0%E9%94%81%E5%88%86%E6%9E%90/ 以下实验数据基于MySQL 5.7 ...