布局 

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" > <android.support.v4.view.ViewPager
android:id="@+id/ViewPager1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/Container_PagerIndicator" >
</android.support.v4.view.ViewPager> <LinearLayout
android:id="@+id/Container_PagerIndicator"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/Container_bottom"
android:layout_gravity="bottom"
android:gravity="center_horizontal" > <ImageView
android:id="@+id/page0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null"
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:contentDescription="@null"
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:contentDescription="@null"
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:contentDescription="@null"
android:scaleType="matrix"
android:src="@drawable/page" />
</LinearLayout> <LinearLayout
android:id="@+id/Container_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical" > <Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/register" >
</Button> <Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/login" >
</Button>
</LinearLayout> </RelativeLayout>

 代码

 package com.wangzhen.myviewpager;

 import java.util.ArrayList;

 import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ContentView;
import com.lidroid.xutils.view.annotation.ViewInject; import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;
import android.content.Context;
import android.os.Bundle; @ContentView(R.layout.activity_main)
public class MainActivity extends ActionBarActivity implements
OnPageChangeListener {
Context mContext;
LayoutInflater mInflater; @ViewInject(R.id.ViewPager1)
private ViewPager ViewPager1;
@ViewInject(R.id.page0)
private ImageView page0;
@ViewInject(R.id.page1)
private ImageView page1;
@ViewInject(R.id.page2)
private ImageView page2;
@ViewInject(R.id.page3)
private ImageView page3; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
ViewUtils.inject(this);
mContext = this;
ViewPager1.setOnPageChangeListener(this);
InflateViewPager();
} /**
* 填充ViewPager数据
*/
private void InflateViewPager() { mInflater = LayoutInflater.from(mContext);
View view1 = mInflater.inflate(R.layout.pager1, null);
View view2 = mInflater.inflate(R.layout.pager2, null);
View view3 = mInflater.inflate(R.layout.pager3, null);
View view4 = mInflater.inflate(R.layout.pager4, null); // 将View装入List中
final ArrayList<View> views = new ArrayList<View>();
views.add(view1);
views.add(view2);
views.add(view3);
views.add(view4); // 填充Pager的数据适配器
PagerAdapter mAdapter = new PagerAdapter() { @Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
} @Override
public int getCount() {
return views.size();
} @Override
public void destroyItem(View container, int position, Object object) {
((ViewPager) container).removeView(views.get(position));
} @Override
public Object instantiateItem(View container, int position) {
((ViewPager) container).addView(views.get(position));
return views.get(position);
} }; ViewPager1.setAdapter(mAdapter);
} @Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub } @Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub } @Override
public void onPageSelected(int arg0) {
switch (arg0) {
case 0:
page0.setImageDrawable(getResources().getDrawable(
R.drawable.page_now));
page1.setImageDrawable(getResources().getDrawable(R.drawable.page));
page2.setImageDrawable(getResources().getDrawable(R.drawable.page));
page3.setImageDrawable(getResources().getDrawable(R.drawable.page));
break;
case 1:
page0.setImageDrawable(getResources().getDrawable(R.drawable.page));
page1.setImageDrawable(getResources().getDrawable(
R.drawable.page_now));
page2.setImageDrawable(getResources().getDrawable(R.drawable.page));
page3.setImageDrawable(getResources().getDrawable(R.drawable.page));
break;
case 2:
page0.setImageDrawable(getResources().getDrawable(R.drawable.page));
page1.setImageDrawable(getResources().getDrawable(R.drawable.page));
page2.setImageDrawable(getResources().getDrawable(
R.drawable.page_now));
page3.setImageDrawable(getResources().getDrawable(R.drawable.page));
break;
case 3:
page0.setImageDrawable(getResources().getDrawable(R.drawable.page));
page1.setImageDrawable(getResources().getDrawable(R.drawable.page));
page2.setImageDrawable(getResources().getDrawable(R.drawable.page));
page3.setImageDrawable(getResources().getDrawable(
R.drawable.page_now));
break; default:
break;
} } }

ViewPager欢迎页的更多相关文章

  1. ViewPager 滑动页(四)

    需求:在ViewPager 滑动页(三) 基础上,减少界面层级. 效果图: 图层数变更前: 图层数变更后: 主要代码实现: <?xml version="1.0" encod ...

  2. ViewPager实现页卡的3种方法(谷歌组件)

    ----方法一:---- 效果图: 须要的组件: ViewPager+PagerTabStrip 布局文件代码: <!--xmlns:android_custom="http://sc ...

  3. ViewPager实现页卡的最新方法--简洁的TabLayout(谷歌支持包)

    效果图: 添加依赖包: compile ‘com.android.support:design:‘ 布局文件: <?xml version="1.0" encoding=&q ...

  4. ViewPager 滑动页(三)

    需求:滑动展示页,能够使用本地数据,及获取服务器数据进行刷新操作,当滑动到最后一页时,结束当前activity,进入下一个activity: 效果图: 实现分析: 1.目录结构: 代码实现: 1.Po ...

  5. Android ViewPager欢迎页+引导页+进入首页

    import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences ...

  6. ViewPager 滑动页(二)

    需求:滑动展示页,能够使用本地数据,及获取服务器数据进行刷新操作,并实现页面自动切换: 效果图: 实现分析: 1.目录结构: 代码实现: 1.PosterView.java package com.j ...

  7. ViewPager 滑动页(一)

    需求:滑动展示页,能够使用本地数据,及获取服务器数据进行刷新操作: 效果图: 实现分析: 1.目录结构: 代码实现: 1.fragment_main.xml <RelativeLayout xm ...

  8. ViewPager单页显示3个item

    原文地址:https://github.com/hongyangAndroid/MagicViewPager/wiki MagicViewPager 单页显示3个Item的ViewPager炫酷切换效 ...

  9. 备忘-Android ViewPager 子页监听事件

    @Override public Object instantiateItem(View arg0, int arg1) { ((ViewPager) arg0).addView(mListViews ...

随机推荐

  1. java rmi 使用方法

    server package Server; import java.rmi.Naming; import java.rmi.RMISecurityManager; import java.rmi.r ...

  2. iOS摄像头和相册-UIImagePickerController-浅析(转)

    iOS摄像头和相册-UIImagePickerController-浅析(转) 转自: http://blog.sina.com.cn/s/blog_7b9d64af0101cfd9.html 在一些 ...

  3. 安卓4.2原生rom状态栏显示运营商

    前言:要调整状态栏布局,需反编译systemui.apk.单卡机修改status_bar.xml和signal_cluster_view.xml,双卡机修改gemini_status_bar.xml和 ...

  4. BZOJ3564 信号增幅仪

    http://www.lydsy.com/JudgeOnline/problem.php?id=3564 思路:先旋转坐标系,再缩进x坐标,把椭圆变成圆,然后做最小圆覆盖. 还有,为什么用srand( ...

  5. XJOI网上同步测试DAY14 T3

    思路:tarjan把桥找出来,然后缩点,注意这里的缩点是:如果两个点之间的连边不是桥,那么就把他们缩起来,然后用一个lct维护,对于每个询问,如果官道连接的是两个联通块的话,就把他们连起来,否则我们就 ...

  6. Android中的一些小知识

    android中开发常用快捷键alt+/ 自动补全ctrl+1 有问题提示生成接收的参数 ctrl+L 在按2 注释// 注释 ctrl+//**/ 多行注释 ctrl+shift+/ android ...

  7. altium designer不经过原理图直接在空白pcb上加封装然后画线

    如果是复杂点的PCB,建议还是画下SCH,如果PCB只有几个元件,那么可以用这种方法,想不画原理图,直接进行布线,往往是很多初学者最想知道的,但是这也一定不是初学者能学到的.因为你买的书,都是按画PC ...

  8. rsyslog 读取单个文件测试

    rsyslog 测试(rsyslog 必须yum 安装uat-web02:/root# rpm -qa | grep rsyslog rsyslog-8.21.0-1.el6.x86_64) //读取 ...

  9. 【HDOJ】4515 小Q系列故事——世界上最遥远的距离

    简单题目,先把时间都归到整年,然后再计算.同时为了防止减法出现xx月00日的情况,需要将d先多增加1,再恢复回来. #include <cstdio> #include <cstri ...

  10. oschina服务器软件

    服务器软件 74Apache模块 54Nginx扩展模块 13Radius相关 94PaaS 系统 29服务发现/注册和协调 17Docker 扩展 7Docker 映像 83应用服务器 189HTT ...