zoukankan      html  css  js  c++  java
  • 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转换为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();
       }


    }
  • 相关阅读:
    使用Angular2建立项目
    你不知道的JavaScript-0
    项目从0到1
    登录页跳转时保存用户信息-遇坑记
    robotframework-ride快捷方式打不开
    win10 python3.8 wxpython.whl 安装步骤
    QPS
    xmind 文件 打开后会在当前目录生成 configuration,p2和workspace目录,artifacts.xml文件 解决
    JMeter进行压力测试时查看服务器的资源使用
    JMeter和JMeterPlugin的下载安装
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6971321.html
Copyright © 2011-2022 走看看