滑动页面效果
来源:互联网 发布:开奖网站源码 编辑:程序博客网 时间:2024/05/15 08:39
我们先来谷歌官方文档对viewpager的介绍,该类允许用户通过页面翻转左右的数据,需要通过实现PagerAdapter适配器来生成视图显示的页面。因为注意这个类是早期设计和开发的,API可能会改变,并在以后更新兼容库,到时候我们需要做相应的处理。ViewPager最常用于结合Fragment,这是一个方便的方式来供应和管理每个页面的生命周期,我们后面的博客介绍相关的内容,今天我们先来简单实现viewpager的功能。
MainAcitivity的代码
- package com.example.f10_viewpager;
- import java.util.ArrayList;
- import java.util.List;
- import android.os.Bundle;
- import android.app.Activity;
- import android.support.v4.view.PagerAdapter;
- import android.support.v4.view.PagerTabStrip;
- import android.support.v4.view.ViewPager;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- public class MainActivity extends Activity {
- private View view1, view2, view3;// 需要滑动的页卡
- private ViewPager viewPager;
- private PagerTabStrip pagerTabStrip;
- private List<View> viewList;// 把需要滑动的页卡添加到这个list中
- private List<String> titleList;// viewpager的标题
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- // 像普通控件一样先初始化
- viewPager = (ViewPager) findViewById(R.id.viewpager);
- pagerTabStrip = (PagerTabStrip) findViewById(R.id.pagertab);
- pagerTabStrip.setDrawFullUnderline(false);//设置下划线不整页显示
- pagerTabStrip.setTextSpacing(1000);//设置标题之间的距离
- initView();
- MyAdapter pagerAdapter = new MyAdapter();
- viewPager.setAdapter(pagerAdapter);
- }
- //填充布局,设置每一页的标题
- private void initView() {
- view1 = findViewById(R.layout.layout1);
- view2 = findViewById(R.layout.layout2);
- view3 = findViewById(R.layout.layout3);
- viewList = new ArrayList<View>();// 将要分页显示的View装入数组中
- viewList.add(view1);
- viewList.add(view2);
- viewList.add(view3);
- titleList = new ArrayList<String>();// 每个页面的Title数据
- titleList.add("第一个页面");
- titleList.add("第二个页面");
- titleList.add("第三个页面");
- }
- public class MyAdapter extends PagerAdapter {
- @Override
- public boolean isViewFromObject(View arg0, Object arg1) {
- return arg0 == arg1;
- }
- @Override
- public int getCount() {
- return viewList.size();
- }
- @Override
- public void destroyItem(ViewGroup container, int position, Object object) {
- container.removeView(viewList.get(position));
- }
- @Override
- public int getItemPosition(Object object) {
- return super.getItemPosition(object);
- }
- @Override
- public CharSequence getPageTitle(int position) {
- return titleList.get(position);
- }
- // 将每一页的布局填充如ViewGroup容器中
- @Override
- public Object instantiateItem(ViewGroup container, int position) {
- container.addView(viewList.get(position));
- return viewList.get(position);
- }
- };
- }
在我之间浏览博文的时候,有人提到过第30行代码设置标题的距离效果没有实现,不知道为什么,后来我调试了一下,发现应该是这个值要设置的大一些,我这里设置的就是1000就实现了一个页面只显示一个标题的效果。在layout布局文件下,我们首先得先创建三个简单的布局文件,来实现滑动效果,当然最重要的是main.xml的代码书写
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
- <android.support.v4.view.ViewPager
- android:id="@+id/viewpager"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center" >
- <android.support.v4.view.PagerTabStrip
- android:id="@+id/pagertab"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="top"/>
- </android.support.v4.view.ViewPager>
0 0
- 实现页面滑动效果
- 滑动页面效果
- 页面左右滑动效果
- jQuery页面滑动效果实例
- 页面动态滑动效果代码
- ViewPager多页面滑动效果
- ViewPager多页面滑动效果
- ViewFlipper效果-------滑动切换页面
- js禁止 页面滑动效果
- h5页面滑动效果实例
- 代码积累2----tab页面滑动效果
- ViewPager,LayoutInflater实现页面滑动效果。
- Android滑动页面导航效果: PagerSlidingTabStrip
- jquerymobile的页面滑动切换效果实现
- Android滑动页面导航效果: PagerSlidingTabStrip
- viewFlipper小页面的滑动效果
- Android滑动页面导航效果: PagerSlidingTabStrip
- ViewPager+Fragment 实现滑动页面的效果
- 笔试题集锦
- Linux 开源网站
- 不言不语,都是好风景
- 怎么发让搜索引擎有好感的外链?
- u盘文件丢了怎么找回
- 滑动页面效果
- JVM调优总结(七)-典型配置举例1
- struts2自定义类型转换器:DefaultTypeConverter
- setsockopt设置socket状态
- 杭电OJ:1010 Tempter of the Bone
- UML之构件图
- C#简单文件管理器的实现
- java将文件打包成ZIP压缩文件的工具类实例
- 如何学好C++语言/C语言/