• ViewPager欢迎页


    布局 

     1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     xmlns:tools="http://schemas.android.com/tools"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent" >
     5 
     6     <android.support.v4.view.ViewPager
     7         android:id="@+id/ViewPager1"
     8         android:layout_width="match_parent"
     9         android:layout_height="wrap_content"
    10         android:layout_above="@+id/Container_PagerIndicator" >
    11     </android.support.v4.view.ViewPager>
    12 
    13     <LinearLayout
    14         android:id="@+id/Container_PagerIndicator"
    15         android:layout_width="fill_parent"
    16         android:layout_height="wrap_content"
    17         android:layout_above="@+id/Container_bottom"
    18         android:layout_gravity="bottom"
    19         android:gravity="center_horizontal" >
    20 
    21         <ImageView
    22             android:id="@+id/page0"
    23             android:layout_width="wrap_content"
    24             android:layout_height="wrap_content"
    25             android:contentDescription="@null"
    26             android:scaleType="matrix"
    27             android:src="@drawable/page_now" />
    28 
    29         <ImageView
    30             android:id="@+id/page1"
    31             android:layout_width="wrap_content"
    32             android:layout_height="wrap_content"
    33             android:layout_marginLeft="10dp"
    34             android:contentDescription="@null"
    35             android:scaleType="matrix"
    36             android:src="@drawable/page" />
    37 
    38         <ImageView
    39             android:id="@+id/page2"
    40             android:layout_width="wrap_content"
    41             android:layout_height="wrap_content"
    42             android:layout_marginLeft="10dp"
    43             android:contentDescription="@null"
    44             android:scaleType="matrix"
    45             android:src="@drawable/page" />
    46 
    47         <ImageView
    48             android:id="@+id/page3"
    49             android:layout_width="wrap_content"
    50             android:layout_height="wrap_content"
    51             android:layout_marginLeft="10dp"
    52             android:contentDescription="@null"
    53             android:scaleType="matrix"
    54             android:src="@drawable/page" />
    55     </LinearLayout>
    56 
    57     <LinearLayout
    58         android:id="@+id/Container_bottom"
    59         android:layout_width="match_parent"
    60         android:layout_height="wrap_content"
    61         android:layout_alignParentBottom="true"
    62         android:orientation="vertical" >
    63 
    64         <Button
    65             android:layout_width="match_parent"
    66             android:layout_height="wrap_content"
    67             android:text="@string/register" >
    68         </Button>
    69 
    70         <Button
    71             android:layout_width="match_parent"
    72             android:layout_height="wrap_content"
    73             android:text="@string/login" >
    74         </Button>
    75     </LinearLayout>
    76 
    77 </RelativeLayout>

     代码

      1 package com.wangzhen.myviewpager;
      2 
      3 import java.util.ArrayList;
      4 
      5 import com.lidroid.xutils.ViewUtils;
      6 import com.lidroid.xutils.view.annotation.ContentView;
      7 import com.lidroid.xutils.view.annotation.ViewInject;
      8 
      9 import android.support.v4.view.PagerAdapter;
     10 import android.support.v4.view.ViewPager;
     11 import android.support.v4.view.ViewPager.OnPageChangeListener;
     12 import android.support.v7.app.ActionBarActivity;
     13 import android.view.LayoutInflater;
     14 import android.view.View;
     15 import android.view.Window;
     16 import android.widget.ImageView;
     17 import android.content.Context;
     18 import android.os.Bundle;
     19 
     20 @ContentView(R.layout.activity_main)
     21 public class MainActivity extends ActionBarActivity implements
     22         OnPageChangeListener {
     23     Context mContext;
     24     LayoutInflater mInflater;
     25 
     26     @ViewInject(R.id.ViewPager1)
     27     private ViewPager ViewPager1;
     28     @ViewInject(R.id.page0)
     29     private ImageView page0;
     30     @ViewInject(R.id.page1)
     31     private ImageView page1;
     32     @ViewInject(R.id.page2)
     33     private ImageView page2;
     34     @ViewInject(R.id.page3)
     35     private ImageView page3;
     36 
     37     @Override
     38     protected void onCreate(Bundle savedInstanceState) {
     39         super.onCreate(savedInstanceState);
     40         requestWindowFeature(Window.FEATURE_NO_TITLE);
     41         ViewUtils.inject(this);
     42         mContext = this;
     43         ViewPager1.setOnPageChangeListener(this);
     44         InflateViewPager();
     45     }
     46 
     47     /**
     48      * 填充ViewPager数据
     49      */
     50     private void InflateViewPager() {
     51 
     52         mInflater = LayoutInflater.from(mContext);
     53         View view1 = mInflater.inflate(R.layout.pager1, null);
     54         View view2 = mInflater.inflate(R.layout.pager2, null);
     55         View view3 = mInflater.inflate(R.layout.pager3, null);
     56         View view4 = mInflater.inflate(R.layout.pager4, null);
     57 
     58         // 将View装入List中
     59         final ArrayList<View> views = new ArrayList<View>();
     60         views.add(view1);
     61         views.add(view2);
     62         views.add(view3);
     63         views.add(view4);
     64 
     65         // 填充Pager的数据适配器
     66         PagerAdapter mAdapter = new PagerAdapter() {
     67 
     68             @Override
     69             public boolean isViewFromObject(View arg0, Object arg1) {
     70                 return arg0 == arg1;
     71             }
     72 
     73             @Override
     74             public int getCount() {
     75                 return views.size();
     76             }
     77 
     78             @Override
     79             public void destroyItem(View container, int position, Object object) {
     80                 ((ViewPager) container).removeView(views.get(position));
     81             }
     82 
     83             @Override
     84             public Object instantiateItem(View container, int position) {
     85                 ((ViewPager) container).addView(views.get(position));
     86                 return views.get(position);
     87             }
     88 
     89         };
     90 
     91         ViewPager1.setAdapter(mAdapter);
     92     }
     93 
     94     @Override
     95     public void onPageScrollStateChanged(int arg0) {
     96         // TODO Auto-generated method stub
     97 
     98     }
     99 
    100     @Override
    101     public void onPageScrolled(int arg0, float arg1, int arg2) {
    102         // TODO Auto-generated method stub
    103 
    104     }
    105 
    106     @Override
    107     public void onPageSelected(int arg0) {
    108         switch (arg0) {
    109         case 0:
    110             page0.setImageDrawable(getResources().getDrawable(
    111                     R.drawable.page_now));
    112             page1.setImageDrawable(getResources().getDrawable(R.drawable.page));
    113             page2.setImageDrawable(getResources().getDrawable(R.drawable.page));
    114             page3.setImageDrawable(getResources().getDrawable(R.drawable.page));
    115             break;
    116         case 1:
    117             page0.setImageDrawable(getResources().getDrawable(R.drawable.page));
    118             page1.setImageDrawable(getResources().getDrawable(
    119                     R.drawable.page_now));
    120             page2.setImageDrawable(getResources().getDrawable(R.drawable.page));
    121             page3.setImageDrawable(getResources().getDrawable(R.drawable.page));
    122             break;
    123         case 2:
    124             page0.setImageDrawable(getResources().getDrawable(R.drawable.page));
    125             page1.setImageDrawable(getResources().getDrawable(R.drawable.page));
    126             page2.setImageDrawable(getResources().getDrawable(
    127                     R.drawable.page_now));
    128             page3.setImageDrawable(getResources().getDrawable(R.drawable.page));
    129             break;
    130         case 3:
    131             page0.setImageDrawable(getResources().getDrawable(R.drawable.page));
    132             page1.setImageDrawable(getResources().getDrawable(R.drawable.page));
    133             page2.setImageDrawable(getResources().getDrawable(R.drawable.page));
    134             page3.setImageDrawable(getResources().getDrawable(
    135                     R.drawable.page_now));
    136             break;
    137 
    138         default:
    139             break;
    140         }
    141 
    142     }
    143 
    144 }
  • 相关阅读:
    代码扫描工具
    事务注解加在Controller 和 Service上有哪些区别
    什么是嵌套事务
    配置工程日志
    利用mkvirtualenv工具搭建python2和python3环境
    python接口自动化1-发送get请求
    面试题:使用存储过程造10w条测试数据,数据不重复
    python测试开发
    接口自动化测试持续集成+postman+newman+git+jenkins+钉钉
    app专项测试
  • 原文地址:https://www.cnblogs.com/lavalike/p/4695843.html
Copyright © 2020-2023  润新知