第一步  先写布局,在Android_main. :

       

<RelativeLayout ns:android=\"http://schemas.android.com/apk/res/android\"
    ns:tools=\"http://schemas.android.com/tools\"
    android:layout_width=\"match_parent\"
    android:layout_height=\"match_parent\"  >
    <android.support.v4.view.ViewPager
        android:id=\"@+id/pager\"
         android:layout_width=\"match_parent\"
    android:layout_height=\"match_parent\"  
        />

    <Button
        android:id=\"@+id/button1\"
        android:layout_width=\"wrap_content\"
        android:layout_height=\"wrap_content\"
        android:layout_centerHorizontal=\"true\"
        android:layout_centerVertical=\"true\"
        android:text=\"立即体验\" />

</RelativeLayout>

先写布局,在Android_two. :

       

<RelativeLayout ns:android=\"http://schemas.android.com/apk/res/android\"
    ns:tools=\"http://schemas.android.com/tools\"
    android:layout_width=\"match_parent\"
    android:layout_height=\"match_parent\"
    android:paddingBottom=\"@dimen/activity_vertical_margin\"
    android:paddingLeft=\"@dimen/activity_horizontal_margin\"
    android:paddingRight=\"@dimen/activity_horizontal_margin\"
    android:paddingTop=\"@dimen/activity_vertical_margin\"
    tools:context=\".TwoActivity\" >

    <TextView
        android:layout_width=\"wrap_content\"
        android:layout_height=\"wrap_content\"
        android:text=\"@string/hello_world\" />

</RelativeLayout>

第二步   在MainAntivity.java里边写:

       

package com.qy.ydy;

import java.util.ArrayList;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.Menu;
import android.view.View;
import android.view.View. Listener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends Activity {

    private ViewPager pager;
    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 1找控件
        pager = (ViewPager) findViewById(R.id.pager);
        button = (Button) findViewById(R.id.button1);
        button.setVisibility(View.GONE);
        button.set Listener(new Listener() {

            @Override
            public void (View v) {
                // 跳转页面
                startActivity(new Intent(MainActivity.this, TwoActivity.class));
                //注意这个代码很重要 价值5分
                finish();
            }
        });
        // 2数据
        int arr[] = { R.drawable.a1, R.drawable.a2, R.drawable.a3,
                R.drawable.a4 };
        final ArrayList<ImageView> list = new ArrayList<ImageView>();
        for (int i = 0; i < arr.length; i++) {
            // 创建ImageView
            ImageView imageView = new ImageView(MainActivity.this);
            imageView.setImageResource(arr[i]);
            // 添加到集合
            list.add(imageView);
        }
        // 3.适配器
        pager.setAdapter(new PagerAdapter() {
            @Override
            public int getCount() {
                // TODO Auto-generated method stub
                return list.size();
            }

            @Override
            public boolean isViewFrom (View arg0, arg1) {
                // TODO Auto-generated method stub
                return arg0 == arg1;
            }

            @Override
            public instantiateItem(ViewGroup container, int position) {
                ImageView imageView = list.get(position);
                // 添加到viewpager中
                container.addView(imageView);
                return imageView;

            }

            @Override
            public void destroyItem(ViewGroup container, int position,
                     ) {
                container.removeView((View) );
            }
        });
        // 4.页面切换事件
        pager.setOnPageChangeListener(new OnPageChangeListener() {

            @Override
            public void onPageSelected(int arg0) {
                // 页面切换
                // 为啥-1???
                // 因为下标是从零开始的,而长度是从一开始的
                // 判断是不是最后一页,如果是就显示按钮,如果不是就隐藏按钮
                if (arg0 == list.size() - 1) {
                    button.setVisibility(View.VISIBLE);
                } else {
                    button.setVisibility(View.GONE);
                }

            }

            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
                // 页面滚动

            }

            @Override
            public void onPageScrollStateChanged(int arg0) {
                // 页面状态改变

            }
        });

    }
}
在第二个页面TwoActivity.java里边写:

         

package com.qy.ydy;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class TwoActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_two);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.two, menu);
        return true;
    }

}

收藏 打印