android_ViewPager_实现导航页

  android_ViewPager_实现导航页

    既然是实现导航页的效果,那么我们肯定是要实现ViewPager的

    要实现的效果如下

      1.用户进入欢迎页面

      2.判断是否是第一次进入,如果是,则进入导航页面,否则 则进入主界面

    要实现这个功能

      1.首先我们需要几个导航页的布局文件,用来显示导航的内容

      2.需要Activity来启动导航页,欢迎页,主页

    所有代码如下

  1.导航页布局文件 a.xml

  

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"
    android:orientation="vertical" >
    

</LinearLayout>

  b.xml

  

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="11111111111111111" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="进入欢迎界面" />

</LinearLayout>

  欢迎界面的Activity

  

package com.example.leran_viewpager;

import android.app.Activity;
import android.app.backup.SharedPreferencesBackupHelper;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;

public class weclomActivity extends Activity {
    private static boolean isFristIn=false;
    private final static int goHome=122;
    private final static int goFrist=2;
    
    private Handler handler=new Handler(){

        public void handleMessage(Message msg) {
            switch(msg.what)
            {
            case goHome:
                GoToHome();
                break;
            case goFrist:
                GoToDD();
                break;
            }
            
        };
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.weclom);
        init();
        
    }
    private void init()
    {
        SharedPreferences sp=getSharedPreferences("jsss",MODE_PRIVATE);
        isFristIn=sp.getBoolean("isFrist", true);
        if(isFristIn)
        {
            handler.sendEmptyMessageDelayed(goFrist, 2000);
            Editor ed=sp.edit();
            ed.putBoolean("isFrist", false);
            ed.commit();
        }else
        {
            handler.sendEmptyMessageDelayed(goHome, 2000);
            
        }
    }
    
    private void GoToHome()
    {
        startActivity(new Intent(this,ff.class));
        finish();
    }
    private void GoToDD()
    {
        startActivity(new Intent(this,MainActivity.class));
        finish();
    }
}

自定义PagerAdapter

package com.example.leran_viewpager;

import java.util.List;

import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;

public class myAdapter extends PagerAdapter {

    private List<View> ArrayView=null;
    private Context cont=null;
    public myAdapter(List<View> ArrayView,Context cont)
    {
        this.ArrayView=ArrayView;
        this.cont=cont;
    }
    @Override
    public int getCount() {
        return ArrayView.size();
        }
    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        return arg0==arg1;
    }
    @Override
    public void destroyItem(View container, int position, Object object) {
        ((ViewPager)container).removeView(ArrayView.get(position));
    }
    @Override
    public Object instantiateItem(View container, int position) {
        ((ViewPager)container).addView(ArrayView.get(position));
        return ArrayView.get(position);
    }

}

引导页Activity

  

package com.example.leran_viewpager;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;


public class MainActivity extends Activity {

    private List<View> Tview=null;
    private ViewPager vp=null;
    private myAdapter ma=null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Tview=new ArrayList<View>();
        LayoutInflater ly=  LayoutInflater.from(this);
        Tview.add(ly.inflate (R.layout.a, null));
        Tview.add(ly.inflate(R.layout.b, null));
        Tview.get(1).findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                startActivity(new Intent(MainActivity.this,ff.class));
                finish();
            }
        });
        ma=new myAdapter(Tview, this);
        vp=new ViewPager(this);
        vp.setAdapter(ma); 
        setContentView(vp);
    }
}
Hold on, everything is possible.
原文地址:https://www.cnblogs.com/student-note/p/6116879.html