Android切换页面效果的实现二 WebView+ViewPager

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

前言:

 

由于第一种切换页面的效果不能满足项目的要求,于是又找到另外一种更简单好用的方法来实现,顿时感觉,做项目开发,找到一种合适的方法能够减少很多时间,(刚开始自己弄的时候还想着自己写手势识别的方法呢)……

 

布局很简单,用到的是ViewPager控件,它是google SDk中自带的一个附加包的一个类,可以用来实现屏幕间的切换。这个附加包是android-support-v4.jar

 

 

 
  
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent" >    <android.support.v4.view.ViewPager        android:id="@+id/viewpager"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:scrollbars="none" /></RelativeLayout>
 
 

 

 

实现效果:类似zaker的文章阅读的效果,采用html对文章进行排版,图文并排很容易实现,推荐一个文章排版的html代码自动生成的工具:KompoZer,下载地址:http://sourceforge.net/projects/kompozer/

 

 

 

 

 

 

 

 

 主体Activity主要是将一个个页面的webview放到一个List里面,然后viewpager控件有一个PagerAdapter的适配器,实现很简单

 
 
   
 1 package cn.edu.stu.webview_viewpager; 2  3 import java.util.ArrayList; 4 import java.util.List; 5  6 import android.app.Activity; 7 import android.os.Bundle; 8 import android.os.Parcelable; 9 import android.support.v4.view.PagerAdapter;10 import android.support.v4.view.ViewPager;11 import android.util.Log;12 import android.view.View;13 import android.view.Window;14 import android.webkit.WebView;15 16 public class MainActivity extends Activity {17     18     private ViewPager vpArticle;19     private MyPagerAdapter myAdapter;20     private List<View> mListViews;21     22     @Override23     public void onCreate(Bundle savedInstanceState) {24         super.onCreate(savedInstanceState);25         requestWindowFeature(Window.FEATURE_NO_TITLE);26         setContentView(R.layout.main);27         28         myAdapter = new MyPagerAdapter();29         vpArticle = (ViewPager) findViewById(R.id.viewpager);30         vpArticle.setAdapter(myAdapter);31         32         mListViews = new ArrayList<View>();33         addView(mListViews, "file:///android_asset/experience/exp_article2.html");34         addView(mListViews, "file:///android_asset/experience/exp_article6.html");35         addView(mListViews, "file:///android_asset/experience/exp_article10.html");36     }37     38     private void addView(List<View> viewList,String url)39     {40         WebView webView=new WebView(this);41         webView.loadUrl(url);42         viewList.add(webView);43     }44     45     private class MyPagerAdapter extends PagerAdapter {46 47         @Override48         public void destroyItem(View arg0, int arg1, Object arg2) {49             Log.d("k", "destroyItem");50             ((ViewPager) arg0).removeView(mListViews.get(arg1));51         }52 53         @Override54         public void finishUpdate(View arg0) {55             Log.d("k", "finishUpdate");56         }57 58         @Override59         public int getCount() {60             Log.d("k", "getCount");61             return mListViews.size();62         }63 64         @Override65         public Object instantiateItem(View arg0, int arg1) {66             Log.d("k", "instantiateItem");67             ((ViewPager) arg0).addView(mListViews.get(arg1), 0);68             return mListViews.get(arg1);69         }70 71         @Override72         public boolean isViewFromObject(View arg0, Object arg1) {73             Log.d("k", "isViewFromObject");74             return arg0 == (arg1);75         }76 77         @Override78         public void restoreState(Parcelable arg0, ClassLoader arg1) {79             Log.d("k", "restoreState");80         }81 82         @Override83         public Parcelable saveState() {84             Log.d("k", "saveState");85             return null;86         }87 88         @Override89         public void startUpdate(View arg0) {90             Log.d("k", "startUpdate");91         }92     }93 }
  
   View Code
 

基本的实现demo就是这样,html的代码就不放在这里了……

 

 


<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值