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. who---显示目前登录系统的用户信息

    who命令是显示目前登录系统的用户信息.执行who命令可得知目前有那些用户登入系统,单独执行who命令会列出登入帐号,使用的终端机,登入时间以及从何处登入或正在使用哪个X显示器. 语法 who(选项) ...

  2. java回调方法、钩子方法以及模板方法模式

    在面向对象的语言中,回调则是通过接口或抽象类来实现的,我们把实现这种接口的类称为回调类,回调类的对象称为回调对象,其处理事件的方法叫做回调方法.(摘自百度百科) 那么通过上面那句话将百度百科中的&qu ...

  3. CentOS 搭建 Mysql MMM 高可用架构

    环境 CentOS Mysql 5.1 前提 安装了EPEL,详细安装步骤请參照 http://blog.csdn.net/robinsonmhj/article/details/36184863 机 ...

  4. linux(debian/ubuntu)下连接安卓手机--小米4为例

    更改:如今小米连接Ubuntu等Linux系统,直接改动手机上的连接方式就可以. --------------------------------------------- 因为安卓手机底层就是lin ...

  5. Haproxy压测

    目的:测试Haproxy压测情况 环境: Ha服务器:8核16G虚机,后端6个2核4G,压测客户端3个2核4G 安装和优化: 一.Haproxy #cd /opt/soft #wget http:// ...

  6. .net framework tools

    https://docs.microsoft.com/en-us/dotnet/framework/tools/ Resgen.exe (Resource File Generator) Conver ...

  7. Huawei配置两台交换机堆叠示例

    配置两台交换机堆叠示例(先配置后连线方式,推荐) 一.基本概念 在堆叠中,有以下一些基本概念,如图1所示.图1 堆叠基本概念示意图 1. 角色堆叠中的单台交换机称为成员交换机,按照功能不同可以分为以下 ...

  8. Js 中的i++ 和 ++i 的区别

    首先碰见  i++ 和 ++i 会一脸蒙蔽 感觉没什么区别,都是相加  , 但是  输出的值是不同!!! 来奉上代码来进行比较 var i = 1; var a = i++; //a = 1; 此时i ...

  9. JAVA工程命名规范

    Java推荐的包声明命名约定是反向域名. 例如 - com.abysm.myproject

  10. PatentTips - System and method to deprivilege components of a virtual machine monitor

    BACKGROUND INFORMATION An embodiment of the present invention relates generally to virtualization pl ...