<span style="font-family: Arial, Helvetica, sans-serif;"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"</span>
    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical"    android:background="#222222" >    <LinearLayout        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <TextView             android:id="@+id/textView1"            android:layout_weight="1"            android:layout_width="wrap_content"            android:layout_height="50dp"            android:background="#999999"            android:gravity="center"            android:text="页面1"            android:textColor="#222222"            />        <TextView             android:id="@+id/textView2"            android:layout_weight="1"            android:layout_width="wrap_content"            android:layout_height="50dp"            android:background="#999999"            android:gravity="center"            android:text="页面2"            android:textColor="#222222"            />        <TextView            android:id="@+id/textView3"            android:layout_weight="1"            android:layout_width="wrap_content"            android:layout_height="50dp"            android:background="#999999"            android:gravity="center"            android:text="页面3"            android:textColor="#222222"            />    </LinearLayout>    <ImageView         android:id="@+id/cursor"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:scaleType="matrix"        android:src="@drawable/cursor"        android:background="#222222"/>    <android.support.v4.view.ViewPager        android:id="@+id/viewPager"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        />    </LinearLayout>


package com.example.myview;import java.util.List;import android.support.v4.view.PagerAdapter;import android.view.View;import android.support.v4.view.ViewPager;public class MyAdapter extends PagerAdapter{    List<View> viewLists;        public MyAdapter(List<View> lists)    {        viewLists = lists;    }    @Override    public int getCount() {                                                                 //获得size        // TODO Auto-generated method stub        return viewLists.size();    }    @Override    public boolean isViewFromObject(View arg0, Object arg1) {                                 // TODO Auto-generated method stub        return arg0 == arg1;    }        @Override    public void destroyItem(View view, int position, Object object)                       //销毁Item    {        ((ViewPager) view).removeView(viewLists.get(position));    }        @Override    public Object instantiateItem(View view, int position)                                //实例化Item    {        ((ViewPager) view).addView(viewLists.get(position), 0);        return viewLists.get(position);    }    }

package com.example.myview;import java.util.List;import java.util.ArrayList;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.support.v4.view.ViewPager;import android.view.View;import android.widget.TextView;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.util.DisplayMetrics;import android.graphics.Matrix;import android.widget.ImageView;import android.view.animation.Animation;import android.view.animation.TranslateAnimation;public class MainActivity extends Activity {    private ViewPager viewPager;    private ImageView imageView;    private List<View> lists = new ArrayList<View>();    private MyAdapter myAdapter;    private Bitmap cursor;    private int offSet;    private int currentItem;    private Matrix matrix = new Matrix();    private int bmWidth;    private Animation animation;    private TextView textView1;    private TextView textView2;    private TextView textView3;        @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                imageView = (ImageView) findViewById (R.id.cursor);        textView1 = (TextView) findViewById (R.id.textView1);        textView2 = (TextView) findViewById (R.id.textView2);        textView3 = (TextView) findViewById (R.id.textView3);                lists.add(getLayoutInflater().inflate(R.layout.layout1, null));        lists.add(getLayoutInflater().inflate(R.layout.layout2, null));        lists.add(getLayoutInflater().inflate(R.layout.layout3, null));                initeCursor();                myAdapter = new MyAdapter(lists);                viewPager = (ViewPager) findViewById (R.id.viewPager);        viewPager.setAdapter(myAdapter);        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {                        @Override            public void onPageSelected(int arg0) {                                 //当滑动式,顶部的imageView是通过animation缓慢的滑动                // TODO Auto-generated method stub                switch (arg0)                {                case 0:                    if (currentItem == 1)                    {                        animation = new TranslateAnimation(                                offSet * 2 + bmWidth, 0 , 0, 0);                    }                    else if(currentItem == 2)                    {                        animation = new TranslateAnimation(                                offSet * 4 + 2 * bmWidth, 0, 0, 0);                    }                    break;                case 1:                    if (currentItem == 0)                    {                        animation = new TranslateAnimation(                                0, offSet * 2 + bmWidth, 0, 0);                    }                    else if (currentItem == 2)                    {                        animation = new TranslateAnimation(* offSet + 2 * bmWidth, offSet * 2 + bmWidth, 0, 0);                    }                    break;                case 2:                    if (currentItem == 0)                    {                        animation = new TranslateAnimation(                                0, 4 * offSet + 2 * bmWidth, 0, 0);                    }                    else if (currentItem == 1)                    {                        animation = new TranslateAnimation(                                offSet * 2 + bmWidth, 4 * offSet + 2 * bmWidth, 0, 0);                    }                }                currentItem = arg0;                                animation.setDuration(500);                animation.setFillAfter(true);                imageView.startAnimation(animation);                            }                        @Override            public void onPageScrolled(int arg0, float arg1, int arg2) {                // TODO Auto-generated method stub                            }                        @Override            public void onPageScrollStateChanged(int arg0) {                // TODO Auto-generated method stub                            }        });                textView1.setOnClickListener(new View.OnClickListener() {                        @Override            public void onClick(View arg0) {                // TODO Auto-generated method stub                viewPager.setCurrentItem(0);            }        });                textView2.setOnClickListener(new View.OnClickListener() {                        @Override            public void onClick(View arg0) {                // TODO Auto-generated method stub                viewPager.setCurrentItem(1);            }        });                textView3.setOnClickListener(new View.OnClickListener() {                        @Override            public void onClick(View arg0) {                // TODO Auto-generated method stub                viewPager.setCurrentItem(2);            }        });    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.activity_main, menu);        return true;    }        private void initeCursor()    {        cursor = BitmapFactory.decodeResource(getResources(), R.drawable.cursor);        bmWidth = cursor.getWidth();                DisplayMetrics dm;        dm = getResources().getDisplayMetrics();                offSet = (dm.widthPixels - 3 * bmWidth) / 6;        matrix.setTranslate(offSet, 0);        imageView.setImageMatrix(matrix);                                             //需要iamgeView的scaleType为matrix        currentItem = 0;    }}


代码都看的懂,三个页的xml就不增加了,页面也没有什么内容,都可以自己定义

更多相关文章

  1. TextView跑马灯效果
  2. android群英传笔记--第四章--ListView使用技巧(一)
  3. Android设置页面Activity全屏(隐藏导航栏、状态栏)
  4. Android使用两个Activity页面切换…
  5. Android: Android中各种onTouch事件
  6. Android: Android中各种onTouch事件
  7. 微信进入消息页面,光标处自动弹出软键盘设置
  8. Android使用两个Activity页面切换…
  9. 十六、Android(安卓)滑动效果汇总

随机推荐

  1. android content provider
  2. Android的pagerAdapter源码,在线查看网址
  3. Android 加载大图片是出现的 OutOfMemory
  4. Supporting Multiple Screens(支持Androi
  5. 设置 Toolbar(ActionBar) 上的按钮颜色
  6. android 安装软件
  7. 让背景小图不是拉伸而是多个重复
  8. android 4.0 (Ice Cream Sandwich) 已经开
  9. Android布局管理器
  10. android sdk 下载缓慢的问题