zoukankan      html  css  js  c++  java
  • 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.
  • 相关阅读:
    黑产上演《三体》剧情:蠕虫病毒入侵手机群发“钓鱼”短信
    安天AVL联合小米MIUI首擒顽固病毒“不死鸟”
    阿里云存储OSS服务端签名客户端直传
    mariadb 安装配置
    NPOI 打印设置
    windows2008 r2 网络负载均衡搭建
    SqlServer数据库技巧
    达梦数据库备份还原
    ASP.NET CORE Docker发布记录
    DataReader转换
  • 原文地址:https://www.cnblogs.com/student-note/p/6116879.html
Copyright © 2011-2022 走看看