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);
}
}

最新文章

  1. 再谈React.js实现原生js拖拽效果
  2. Android数据库相关整理
  3. unity 播放音乐
  4. [转]Worksheet.Change Event (Excel)
  5. hbase-0.94.16 在hadoop-1.2.1的安装配置
  6. Oracle中decode方法的作用
  7. slf4j与log4j
  8. Python开发【第十篇】:CSS (二)
  9. poj1487
  10. z-index要同级比较,absolute包含块外有overflow-hidden
  11. select查询原理
  12. Java经典案例之-“成绩等级划分”
  13. webpack 理解
  14. ●BZOJ 2049 [Sdoi2008]Cave洞穴勘测
  15. 转:为什么要有Spring?
  16. Beaglenone读取编码器数据
  17. 【LeetCode】158. Read N Characters Given Read4 II - Call multiple times
  18. linux配置防火墙,开启端口
  19. WPF:改变ListBoxItem和ListViewItem的颜色
  20. (5)可变、不可变和hash函数

热门文章

  1. javascript 冒泡
  2. 0xc0000428 winload.exe无法验证其数字签名的解决方法
  3. WP8教程
  4. TSS 任务状态段 详解
  5. UVA 11294 Wedding
  6. Java集合类之Hashtable
  7. 冒泡排序BubbleSort
  8. 内核驱动中常见的miscdevice、platform_device、platform_driver
  9. Receving Transactions &gt; No data found IQC无法接收PO采购物料
  10. wps 2012-2013 通杀漏洞(CVE-2013-3934)