切换浏览示意图-程序员宅基地

技术标签: 移动开发  

一:布局

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >  

    <android.support.v4.view.ViewPager
        android:id="@+id/whatsnew_viewpager"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" > 
        
        
        <android.support.v4.view.PagerTitleStrip
            android:id="@+id/pagertitle"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_gravity="bottom"
            android:background="#0000"
            android:textColor="#ffff" />
    </android.support.v4.view.ViewPager>  
    
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        > 
        
         <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_marginBottom="30dp" 
            android:gravity="center_horizontal"     >
            
            <ImageView
                android:id="@+id/page0"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"                     
                android:scaleType="matrix"
                android:src="@drawable/page_now" />
            <ImageView
                android:id="@+id/page1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"                     
                android:scaleType="matrix"
                android:src="@drawable/page" />
            <ImageView
                android:id="@+id/page2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"                        
                android:scaleType="matrix"
                android:src="@drawable/page" />
            <ImageView
                android:id="@+id/page3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:layout_marginLeft="10dp"                       
                android:scaleType="matrix"
                android:src="@drawable/page" />
            <ImageView
                android:id="@+id/page4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:layout_marginLeft="10dp"                       
                android:scaleType="matrix"
                android:src="@drawable/page" />
            <ImageView
                android:id="@+id/page5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" 
                android:layout_marginLeft="10dp"                       
                android:scaleType="matrix"
                android:src="@drawable/page" />           
            
        </LinearLayout>
        
       
    </LinearLayout>
    
       
</FrameLayout>

二:Activity

public class Whatsnew extends Activity {
    private ViewPager mViewPager;    
    private ImageView mPage0;
    private ImageView mPage1;
    private ImageView mPage2;
    private ImageView mPage3;
    private ImageView mPage4;
    private ImageView mPage5;
        
    private int currIndex = 0;
    private Context mCon;
    private PagerAdapter adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.whatsnew_viewpager);
        mCon = Whatsnew.this;
        initView();
        initData();
        registerListener();
    }
    
    private void initView(){
        mViewPager = (ViewPager) findViewById(R.id.whatsnew_viewpager);
        
        mPage0 = (ImageView)findViewById(R.id.page0);
        mPage1 = (ImageView)findViewById(R.id.page1);
        mPage2 = (ImageView)findViewById(R.id.page2);
        mPage3 = (ImageView)findViewById(R.id.page3);
        mPage4 = (ImageView)findViewById(R.id.page4);
        mPage5 = (ImageView)findViewById(R.id.page5);
        
        
        
       
    }
    
    private void initData(){
         final ArrayList<View> list = new ArrayList<View>();
        //通过布局加载器获取到布局
            LayoutInflater mLi = LayoutInflater.from(mCon);
            View view1 = mLi.inflate(R.layout.whats1, null);
            View view2 = mLi.inflate(R.layout.whats2, null);
            View view3 = mLi.inflate(R.layout.whats3, null);
            View view4 = mLi.inflate(R.layout.whats4, null);
            View view5 = mLi.inflate(R.layout.whats5, null);
            View view6 = mLi.inflate(R.layout.whats6, null);
            list.add(view1);
            list.add(view2);
            list.add(view3);
            list.add(view4);
            list.add(view5);
            list.add(view6);
            
            adapter = new PagerAdapter() {
                
                @Override
                public boolean isViewFromObject(View arg0, Object arg1) {
                    return arg0 == arg1;
                }
                
                @Override
                public int getCount() {
                    return list.size();
                }
                
                @Override
                public void destroyItem(View container, int position, Object object) {
                    ((ViewPager)container).removeView(list.get(position));
                }
                
                @Override
                public Object instantiateItem(View container, int position) {

                    ((ViewPager)container).addView(list.get(position));
                    return list.get(position);
                }

                @Override
                public void finishUpdate(View arg0) {
                    // TODO Auto-generated method stub
                    
                }

                @Override
                public void restoreState(Parcelable arg0, ClassLoader arg1) {
                    // TODO Auto-generated method stub
                    
                }

                @Override
                public Parcelable saveState() {
                    // TODO Auto-generated method stub
                    return null;
                }

                @Override
                public void startUpdate(View arg0) {
                    // TODO Auto-generated method stub
                    
                }
            };
    }
    
    private void registerListener(){
        mViewPager.setOnPageChangeListener(new MyOnPageChangeListener());
        mViewPager.setAdapter(adapter);
    }
    
    
    
    public class MyOnPageChangeListener implements OnPageChangeListener{

        @Override
        public void onPageScrollStateChanged(int arg0) {
            
        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
            
        }

        @Override
        public void onPageSelected(int arg0) {
            switch (arg0) {
            case 0:                
                mPage0.setImageDrawable(getResources().getDrawable(R.drawable.page_now));
                mPage1.setImageDrawable(getResources().getDrawable(R.drawable.page));
                break;
            case 1:
                mPage1.setImageDrawable(getResources().getDrawable(R.drawable.page_now));
                mPage0.setImageDrawable(getResources().getDrawable(R.drawable.page));
                mPage2.setImageDrawable(getResources().getDrawable(R.drawable.page));
                break;
            case 2:
                mPage2.setImageDrawable(getResources().getDrawable(R.drawable.page_now));
                mPage1.setImageDrawable(getResources().getDrawable(R.drawable.page));
                mPage3.setImageDrawable(getResources().getDrawable(R.drawable.page));
                break;
            case 3:
                mPage3.setImageDrawable(getResources().getDrawable(R.drawable.page_now));
                mPage4.setImageDrawable(getResources().getDrawable(R.drawable.page));
                mPage2.setImageDrawable(getResources().getDrawable(R.drawable.page));
                break;
            case 4:
                mPage4.setImageDrawable(getResources().getDrawable(R.drawable.page_now));
                mPage3.setImageDrawable(getResources().getDrawable(R.drawable.page));
                mPage5.setImageDrawable(getResources().getDrawable(R.drawable.page));
                break;
            case 5:
                mPage5.setImageDrawable(getResources().getDrawable(R.drawable.page_now));
                mPage4.setImageDrawable(getResources().getDrawable(R.drawable.page));
                break;
            }
            currIndex = arg0;
        }    
    }
    
    
    
    public void startbutton(View v) {  
          Intent intent = new Intent();
        intent.setClass(Whatsnew.this,WhatsnewDoor.class);
        startActivity(intent);
        this.finish();
      }
}

 

转载于:https://www.cnblogs.com/ct732003684/archive/2012/12/27/2835874.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30376509/article/details/95222169

智能推荐

MiniDao_1.6.4 版本发布,轻量级Java持久化框架,Hibernate项目辅助利器-程序员宅基地

文章浏览阅读77次。MiniDao 简介及特征 MiniDao 是一款超轻量的JAVA持久层框架,具备Mybatis一样的SQL能力: 支持SQL分离、支持标签、支持注解。MiniDao产生的初衷是为了解决Hibernate项目对复杂SQL支持能力,具备Mybatis一样的灵活性,同时支持事务同步。具有以下特征:O/R mapping不用设置xml,零配置便于维护不需要了解JDBC的知识..._minidao transient

更方便、更强大: Flutter package 生态系统更新-程序员宅基地

文章浏览阅读249次。作者 / Chris Sells,Flutter 开发者体验产品经理Google Flutter 团队只有一个工作目标: 让开发者在多个平台上都能构建精美的原生应用。在 Flutter ..._flutter package update

HDOJ 2044 一只小蜜蜂...-程序员宅基地

文章浏览阅读312次。Problem Description 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。 其中,蜂房的结构如下所示。 Input 输入数据的第一行是一个整数N,表示测试实例的个数,然后是N 行数据,每行包含两个整数a和b( 0 < a < b < 50 ..._2044一只小蜜蜂...

mybatis-plus 基础单表crud-增删改查_mybatis-plus新增单表-程序员宅基地

文章浏览阅读520次。package cn.x.test;import cn.x.domain.Department;import cn.x.mapper.DepartmentMapper;import lombok.extern.slf4j.Slf4j;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.spri_mybatis-plus新增单表

vue项目中独立封装一个toast提示弹框组件-程序员宅基地

文章浏览阅读1.9k次,点赞2次,收藏6次。我们在进行vue项目开发的时候,封装组件是必不可少的一个环节;我们也可以使用别人一些已经写好的ui组件库。但别人的实现原理我们还是有必要知道的,今天我就来分享一个我独立封装的toast弹框组件1、首先可以创建一个toast文件夹,用来放toast组件和它的js文件2、然后在main.js文件中引入toast的js文件, 并将toast插件安装到Vue实例中,也就是挂载到实例中;3、一旦写了 ..._vue项目中独立封装一个toast提示弹框组件

SQL Tuning Task-程序员宅基地

文章浏览阅读268次。1. Creating a SQL Tuning TaskDECLAREmy_task_name VARCHAR2(30);my_sqltext CLOB;BEGINmy_task_name := DBMS_SQLTUNE...._看懂sql_tunning_task

随便推点

mac下 idea 注释快捷键冲突_idea和mac快捷键冲突-程序员宅基地

文章浏览阅读2.3k次,点赞7次,收藏2次。打开偏好设置,将冲突的快捷键关掉,就可以解决 idea 使用注释快捷键,会打开help页面的问题_idea和mac快捷键冲突

SpringBoot整合ActiveMQ实现延时消息队列_activemq延时队列-程序员宅基地

文章浏览阅读2k次,点赞2次,收藏5次。1、修改mq配置文件activemq.xml <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" schedulerSupport="true">添加上schedulerSupport="true"2、pom文件添加 <dependency> <groupId._activemq延时队列

在vue中使用海康插件实现视频监控,视频直播方法一(RTMP流加Flash加videoJS)_videojs监控插件-程序员宅基地

文章浏览阅读3.5k次,点赞5次,收藏13次。在vue中使用海康威视实现视频监控,视频直播方法一(RTMP流加Flash加videoJS)第一步用npm装这个几个包 "video.js": "^6.6.0", "videojs-flash": "^2.2.0", "videojs-swf": "^5.4.2",第二步在页面引入上述包//视频插件包import videojs from "video.js";impo..._videojs监控插件

android智能小车项目总结,基于Android开发的智能小车路径规划-程序员宅基地

文章浏览阅读818次。摘要:进入21世纪,伴随着人工智能的高速发展,智能设备如雨后春笋般涌现,在满足人们生活需求的同时,也在某种场合替代人类完成危险和极端环境下的任务。目标识别与跟踪、路径规划、智能避障作为智能机器人研究的热点与难点,受到了广泛的关注。论文针对路径规划这一难点进行了有益的研究,可将其应用于工厂机器人搬运货物、月球探测等领域,具有一定的实用价值。 本设计在设计之初便定位于地面相对平整,地面颜色和纹理与障碍..._android智能汽车应用开发实验小结

NR数据库的物种注释-程序员宅基地

文章浏览阅读1.2w次,点赞3次,收藏18次。NR数据库的物种注释1.创建NR子库为什么要创建nr或nt数据库的子库,因为这两个库数据量巨大,若只专注某个领域而非全部,则在对自身领域进行注释时就会耗费大量时间,为了节省时间,就需要在原来nr/nt数据库的基础上构建相对的子库。构建方法如下:方法一:从NCBI官网下载相应物种的Accession ID在2017年之后的nr/nt数据库变成不再支持gi号搜索的。所以我们不可以根据gi号来分离并构建对应的子库,那么我们就需要查看新版本的nr/nt库的序列的id特征,发现他们变成了accessio_nr数据库

使用Kubeadm搭建Kubernetes(1.12.2)集群_groupversionkind /, kind=initconfiguration:-程序员宅基地

文章浏览阅读2.8k次。Kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,在2018年将进入GA状态,说明离生产环境中使用的距离越来越近了。使用Kubeadm搭建Kubernetes集群本来是件很简单的事,但由于众所周知的原因,在中国大陆是无法访问 k8s.gcr.io的。这就使我们无法按照官方的教程来创建集群。而国内的教程参差..._groupversionkind /, kind=initconfiguration: