Android切换页面效果的实现二:WebView+ViewPager
来源:互联网 发布:成都历史气象数据查询 编辑:程序博客网 时间:2024/05/16 17:50
前言:
由于第一种切换页面的效果不能满足项目的要求,于是又找到另外一种更简单好用的方法来实现,顿时感觉,做项目开发,找到一种合适的方法能够减少很多时间,(刚开始自己弄的时候还想着自己写手势识别的方法呢)……
布局很简单,用到的是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 }
0 0
- Android切换页面效果的实现二:WebView+ViewPager
- Android切换页面效果的实现二:WebView+ViewPager
- Android切换页面效果:WebView+ViewPager
- android ViewPager实现页面左右切换效果
- android用ViewPager实现带有动画效果的页面切换
- Android开发知识(二):ViewPager切换动画效果的实现
- ViewFlipper实现ViewPager的页面切换效果
- Android实战简易教程<二十六>(基于ViewPager实现微信页面切换效果)
- Android ViewPager特效之水滴效果的滑动切换页面
- Android 自定义ViewPager的滑动切换页面效果
- viewpager深度页面切换效果实现
- ViewPager和RadioGroup实现页面切换效果
- RadioButton和ViewPager实现页面切换效果
- Android开发之ViewPager实现多页面切换及动画效果(仿Android的Launcher效果)
- ViewPager页面切换效果
- 【Android UI】案例03滑动切换效果的实现(ViewPager)
- Gallery实现ViewPager的页面切换效果、以及实现图片画廊效果
- Android 中ViewPager 实现动画效果切换
- 去掉matlab中figure图的空白边缘
- Watch OS 2 中 Taptic Engine 的开发教程
- 设置触摸代理的方法
- HDU 4279 Number 坑爹的迷之精度
- hdoj-1086-You can Solve a Geometry Problem too 判断线段是否相交
- Android切换页面效果的实现二:WebView+ViewPager
- uva 673 Parentheses Balance
- 自定义数据类型的序列化
- shell内部命令和外部命令
- 1336 - Fixing the Great Wall(DP)
- 欢迎使用CSDN-markdown编辑器
- 使用中国网建实现Java向手机发送短信的功能
- Android应用开发之(WebView中loadData与loadDataWithBaseURL的使用上的区别)
- Qt学习之一,键盘事件细节