• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android-ViewPager的使用

Android-ViewPager的使用

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了传真机的使用方法,sumif函数的使用方法,数据透视表的使用方法,lookup函数的使用方法,万用表的使用方法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android-ViewPager的使用


Android-ViewPager的使用


ViewPager是安卓App很常用的工具类,通常是用来设置界面导航,比如微信,QQ都是使用这种,还有就是新闻类App,很常见
比如:
这里写图片描述
这就是一个典型的例子。
复习一下这个知识点。


大致步骤和之前的ListView差不多。
1.构造适配器
2.数据源
3.加载适配器
这里写图片描述


activity_main.xml




    
    


ViewPager使用v4的兼容包
view1-view4.xml




    

自定义适配器
MyPagerAdapter.java

package com.xieth.as.againviewpagerdemo;

import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;

import java.util.List;

/**
 * Created by YR on 2016/04/05.
 */
public class MyPagerAdapter extends PagerAdapter{

    private List viewList = null;

    public MyPagerAdapter(List viewList) {
        this.viewList = viewList;
    }

    // 实例化一个页卡
    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        container.addView(viewList.get(position));
        return viewList.get(position);
    }

    // 销毁一个页卡
    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView(viewList.get(position));
    }

    @Override
    public int getCount() {
        return viewList.size();
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }
}

MainActivity.java

package com.xieth.as.againviewpagerdemo;

import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.View;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private ViewPager pager = null;
    private MyPagerAdapter adapter = null;
    private View[] views = new View[4];
    private int[] viewId = {R.layout.view1, R.layout.view2, R.layout.view3, R.layout.view4};
    //数据源
    private List viewList = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initViews();

        adapter = new MyPagerAdapter(viewList);
        pager.setAdapter(adapter);

    }

    private void initViews() {
        pager = (ViewPager) findViewById(R.id.id_viewpager);

        viewList = new ArrayList<>();
        for (int i = 0; i < viewId.length; i++) {
            views[i] = View.inflate(this, viewId[i], null);
            viewList.add(views[i]);
        }
    }

}

运行:
这里写图片描述
这是一个简单的例子,然后可以在上面添加标题栏。
使用android.support.v4.view.PagerTabStrip<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vc3Ryb25nPjxiciAvPg0KPHN0cm9uZz5hY3Rpdml0eV9tYWluLnhtbDwvc3Ryb25nPjwvcD4NCjxwcmUgY2xhc3M9"brush:java;">

MainActivity.java

package com.xieth.as.againviewpagerdemo;

import android.os.Bundle;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.View;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private ViewPager pager = null;
    private MyPagerAdapter adapter = null;
    private View[] views = new View[4];
    private int[] viewId = {R.layout.view1, R.layout.view2, R.layout.view3, R.layout.view4};
    private String[] titleStr = {"第一页", "第二页", "第三页", "第四页"};
    //数据源
    private List viewList = null;
    private List titleList = null;
    // 标题
    private PagerTabStrip tab = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initViews();

        adapter = new MyPagerAdapter(viewList, titleList);
        pager.setAdapter(adapter);

    }

    private void initViews() {
        pager = (ViewPager) findViewById(R.id.id_viewpager);
        tab = (PagerTabStrip) findViewById(R.id.id_tab);
        viewList = new ArrayList<>();
        titleList = new ArrayList<>();
        for (int i = 0; i < viewId.length; i++) {
            views[i] = View.inflate(this, viewId[i], null);
            viewList.add(views[i]);
        }
        for (int i = 0; i < titleStr.length; i++) titleList.add(titleStr[i]);
    }

}

运行:
这里写图片描述


可以把下面长的短线去掉:

tab.setDrawFullUnderline(false);

运行:
这里写图片描述


除了这样加载,还可以使用Fragment作为载体。
fragment1-fragment4.java
id改一下即可

package com.xieth.as.againviewpagerdemo;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

/**
 * Created by YR on 2016/04/05.
 */
public class Fragment1 extends Fragment{

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        return inflater.inflate(R.layout.view1, container, false);
    }
}

自定义适配器
MyFragmentPagerAdapter.java

package com.xieth.as.againviewpagerdemo;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

import java.util.List;

/**
 * Created by YR on 2016/04/05.
 */
public class MyFragmentPagerAdapter extends FragmentPagerAdapter{

    //数据源
    private List fragList = null;
    private List titleList = null;

    public MyFragmentPagerAdapter(FragmentManager fm, List fragList, List titleList) {
        super(fm);
        this.fragList = fragList;
        



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android-ViewPager的使用

相关文章

  • 2017-08-31android button的操作
  • 2017-05-26AsyncTask源码探究,asynctask源码
  • 2017-05-26Android 手机卫士--md5加密过程,android--md5
  • 2017-05-26android设计的布局在阿拉伯语下界面错乱的解决方法,android阿拉伯语
  • 2017-05-26统计Git版本库每个人提交次数和代码的增加和删除行数脚本
  • 2017-05-26ORA-16038/ORA-00742: Log read detects lost write in thread
  • 2017-05-26GreenDao 数据库:使用Raw文件夹下的数据库文件以及数据库升级,greendaoraw
  • 2017-05-26基于zookeeper的主备切换方法
  • 2017-05-26热修复,android热修复
  • 2017-05-26andriod绘制图形,andriod绘制

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • android-studio的gradle plugin配置相关的一些记录,androidstudiogradle
    • 关于Pacemaker集群配置的版本
    • 用树莓派实现对话机器人
    • 日志文件之出错处理
    • 统计nginx日志中各服务(目录)http总请求数、成功数、失败数的shell
    • 硅谷社交3--登录页面,硅谷社交3--
    • 安卓---Toast工具类,有点懒,安卓---toast工具类
    • Android事件分发
    • 编译器开发系列--Ocelot语言6.静态类型检查,编译器--ocelot
    • android 通过uri获取bitmap图片并压缩,

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有