viewpager从本地显示图片并可滑动

二十四、ViewPager实现图片滑动预览 场景是这样的,用GridView展示了一些缩略图,当点击缩略图时,预览大图,并且可以滑动切换预览图,单击预览图则关闭预览界面,回到之前的缩略图界面。通过上述功能介绍发现,用ViewPager即可完全满足功能。 一、使用ViewPager加载预览图片 ViewPager使用和ListView、GridView差不多,不做过多介绍,主要是它的adapter稍微有些不一样。 先上adapter代码 阅读详情

/**
* 装ImageView数组
*/
private ImageView[] mImageViews;

/**
 * 图片资源
 */
private String[] imgIdArray;

@Override
public void onDestroyView() {
    super.onDestroyView();
}

/**
 * @author
 */
public class MyAdapter extends PagerAdapter {

    @Override
    public int getCount() {
        int count = 0;
        if (mImageViews != null) {
            count = mImageViews.length;
        }
        return count;
        // 设置成最大,使用户看不到边界

//
// if (mImageViews.length == 1) {
// return 1;
// } else {
// return Integer.MAX_VALUE;
// }
}

    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        return arg0 == arg1;
    }

    @Override
    public void destroyItem(View container, int position, Object object) {
        ((ViewPager) container).removeView(mImageViews[position % mImageViews.length]);

    }

    /**
     * 载入图片进去,用当前的position 除以 图片数组长度取余数是关键
     */
    @Override
    public Object instantiateItem(View container, int position) {
        ImageView imageView = mImageViews[position % mImageViews.length];
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
        if (imageView.getParent() != null) {
            ((ViewPager) imageView.getParent()).removeView(imageView);
        }
        ((ViewPager) container).addView(imageView, 0);
        return imageView;
    }


}

@Override
public void onPageScrollStateChanged(int arg0) {

}

@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}

@Override
public void onPageSelected(int arg0) {
    currentpage.setText(String.valueOf(arg0 + 1));
    Log.i("0612", "arg0: " + arg0);
}

/**
* 从sd卡获取图片资源
*
* @return
*/
private List getImagePathFromSD() {
// 图片列表
imagePathList = new ArrayList();
// 得到sd卡内image文件夹的路径 File.separator(/)
String filePath = MainActivity.PATH + “/qlink/record_file/” + QLinkApp.getApplication().getLocalStorage().getAccountUid() + “/”
+ alarmtime + “/”;
if (filePath!=null) {
// 得到该路径文件夹下所有的文件
File fileAll = new File(filePath);
File[] files = fileAll.listFiles();
// 将所有的文件存入ArrayList中,并过滤所有图片格式的文件
for (int i = 0; i < files.length; i++) {
File file = files[i];
if (checkIsImageFile(file.getPath())) {
imagePathList.add(file.getPath());
}
}
}
// 返回得到的图片列表
return imagePathList;
}

/**
 * 检查扩展名,得到图片格式的文件
 *
 * @param fName 文件名
 * @return
 */
private boolean checkIsImageFile(String fName) {
    boolean isImageFile = false;
    // 获取扩展名
    String FileEnd = fName.substring(fName.lastIndexOf(".") + 1,
            fName.length()).toLowerCase();
    if (FileEnd.equals("jpg") || FileEnd.equals("png") || FileEnd.equals("gif")
            || FileEnd.equals("jpeg") || FileEnd.equals("bmp")) {
        isImageFile = true;
    } else {
        isImageFile = false;
    }
    return isImageFile;
}

private void initImage(List imagePathList) {
//将图片装载到数组中
mImageViews = new ImageView[imagePathList.size()];
for (int i = 0; i < mImageViews.length; i++) {
Activity activity = getActivity();
if (activity != null) {
ImageView imageView = new ImageView(activity);
mImageViews[i] = imageView;
Bitmap bitmap = BitmapFactory.decodeFile(imagePathList.get(i));
imageView.setImageBitmap(bitmap);
}
}

    //设置Adapter
    if (viewPager != null) {
        viewPager.setAdapter(new MyAdapter());
        //设置监听,主要是设置点点的背景
        viewPager.setOnPageChangeListener(this);

        //设置ViewPager的默认项, 设置为长度的100倍,这样子开始就能往左滑动

// viewPager.setCurrentItem(mImageViews.length*50+1);
viewPager.setCurrentItem(0);
}
totalpage.setText(String.valueOf(imagePathList.size()));
number.setVisibility(View.VISIBLE);
}

使用Android ViewPager与PhotoView实现图片滑动查看 安卓新手,最近在写一个小的个人项目,其中需要全屏查看一组网络图片。其实就是简单的图片查看功能。在网上搜了实现方法,最终在Github上找到了一个叫做Touch Gallery的项目,它不仅能够载入本地图片,还能载入网络图片,完全符合我的需求。可惜这个项目年代久远,作者也已经不再维护,加之我在将这个Eclipse平台编译的项目导入到Android Studio中时遇到了一些麻烦。遂决定另寻它法。 这里主要还是用到了Android自带的ViewPager控件,用于实现水平切换,并且它自带了滑动效果。将每一张需 阅读详情

相关推荐

Android用ViewPager实现滑动切换页面

ViewPager实现滑动切换页面 实现环境 Eclipse Android SDK 21 jdk1.7 ViewPager是Google的support.v4包中的支持控件,可以实现View之间的切换 所需材料 6张图片(底部导航按钮,每个按钮两种状态的照片): 结构图 滑动过程描述 1.框架顶部不改变。 2.点击框架底部按钮,页面随着按钮点击而切换。 eg:当前按钮1为点击状态,中间部分显示...

weixin_42824294的博客 6036

android 使用viewpager实现图片轮播效果

第一步:创建xml布局,如下图所示; <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" a

julicliy的博客 5148

Android实现滑动图片(ViewPager)

最近在学习android,看了几天教材之后,决定亲手做一些demo,在实践中不断成长 下面是从一个大神的博客中摘取的使用ViewPager实现滚动图片的demo,我在学习这个demo的时候遇到很多问题,现在把对这个demo的学习过程记录下来(不断补充中),由于本人为初学者,所以写的内容可能比较初级,希望对同样的初学者可以提供一定的帮助。 自学内容: 1、Android实现滑动图片(V

神奇的老王 2907

ViewPager+ImageView 图片滑动预览

项目需求: 1、展示从网上url获取的图片 2、页面既可以左右滑动,也可以依靠向左向右的箭头按钮控制 难点: 1、如果在ViewpagerAdapter里面使用ImageLoader加载ImageView,因为网络请求耗时较长,会造成每张图片都卡顿 解决方案: 1)先将图片都下载下来 List imageUrls = FragmentSetting.imageUrls;

beiyouzidonghua的专栏 4009

Android ViewPager图片滑动

Android ViewPager图片滑动 首先展示效果图 Android ViewPager图片滑动代码演示步骤 1.实例化ViewPager 2.通过LayoutInflater加载布局,返回View结果 3.把生成的每一个View对象添加到List集合中 4.实例化适配器,传递View集合 5.在适配器中继承自PagerAdapter,实现内部的四个方法 getCou

Android开发-CXY的博客 1611

实现Android ViewPager左右滑动与图片点击切换的教程

ViewPager 是 Android 开发中常用的一个控件,主要用于实现左右滑动切换页面的布局效果。它被广泛应用于引导页、图片浏览、内容展示等多种场景。由于ViewPager允许用户平滑地在各个页面间切换,因此它在需要展示连续内容,或者需要用户做出选择的场景下特别有用。本章将介绍ViewPager的基本概念,包括它的设计理念、应用场景,以及在实际开发中如何巧妙地使用ViewPager来提升用户体验。

weixin_30978239的博客 1040

漂亮的viewpager画廊效果

首先看下效果图和整个项目的结构 很简单的一个项目,这也是我在简书写的第一个项目,虽然简单,但是我觉得很漂亮现在开始分析代码首先看下MainActivity的代码public class MainActivity extends AppCompatActivity { private int pagerWidth; private ViewPager mViewPager;

Big_Sweet 3947

Viewpager图片预览,支持图片缩放移动

viewpager 查看图片,图片支持缩放,移动,很好的例子,

android viewpager滑动图片轮播,使用ViewPager实现图片轮播

前言首先我们来看一下运行的效果,如下所示:这是在我们的项目中经常会用到的图片轮播效果,一般用于广告图片的展示。它要求主要实现以下功能:1)自动播放;2)无限滑动;3)手指拖拽图片时暂停自动轮播,松开后继续自动轮播;4)含动画效果的小圆点指示器。本文将介绍利用ViewPager实现无限轮播图片,图片下方加上小圆点指示器标记当前位置,并利用Handler实现自动轮播图片。正文1、实现自动播放思路:没隔...

weixin_39631295的博客 976

android点击查看大图,ViewPager实现左右滑动切换、缩放图片

点击缩略图查看大图,支持滑动切换图片,缩放图片,封装成了一个工具类,基本两行代码实现上面需求。 代码很清晰,可以自已微调。

viewpager实现图片切换

viewpager实现图片切换

Android使用ViewPager实现图片轮播和手势滑动

ViewPager常用来实现图片的轮播,比如淘宝首页,会把一些促销的商品的图片和描述信息来回的播放,这就是典型的使用ViewPager实现的。 ViewPager属于布局管理器,允许用户通过页面翻转查看左右的数据,下面通过一个实例来讲解ViewPager实现图片轮播和手势滑动,效果图如上: 1.布局文件如下(TextView用来显示图片下的文字,ll_point用来存放文字

ljw的博客 1万+

ViewPager动态切换图片

viewpager 实现定时的切换图片 ,小圆点根据图片的切换而改变

Android 使用ViewPager实现左右循环滑动图片

ViewPager这个小demo实现的是可以左右循环滑动图片,下面带索引,滑到最后一页在往右滑动就要第一页,第一页往左滑动就到最后一页,先上效果图,用美女图片是我一贯的作风,呵呵 1.    首先看一些layout下的xml <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" and

Mobile Internet developer 19万+

博客资源:ViewPager加载大量图片oom解决方案demo

ViewPager加载大量图片oom解决方案

SystemRDL:从寄存器描述到自动化生成的完整指南

本文详细介绍了SystemRDL如何通过“一份描述,多处生成”的理念,彻底解决芯片与FPGA设计中手动维护寄存器带来的不一致与低效问题。文章提供了从语言快速上手、核心组件讲解到使用PeakRDL工具链实现自动化代码与文档生成的完整实战指南,帮助硬件工程师构建高效、可靠的寄存器开发流程。

weixin_29243279的博客 661

ViewPager显示多张图片和滑动删除

ViewPager显示多张图片 XML <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" ...

liuguitong_BK的博客 860

雷达原理习题答案【西电】

  目前教材用的是陈老师新版的,但是,我发现课后题有一部分是之前某本书里的。答案如下【建议参看原题→查阅答案】 【原题点这里!!点这里!!】 目录跳转功能目前好像只支持网页版 文章目录% 第一章、第二章% 第三章% 第四章% 第五章% 第六章% 第七章% 第八章 % 第一章、第二章 % 第三章 % 第四章 % 第五章 % 第六章 % 第七章 % 第八章 ...

薛定谔的壳的博客 1万+

ViewPager循环滑动图片集合,以及删除图片功能

最近在做一个项目,需要的功能,用viewPager展示图片,可左右循环滑动,且可删除。遇到了很多阻碍,现将自己的一些经验总结如下。 1. 左右循环滑动: 按照ViewPager的特性:可以从第一张滑到最后一张,但是无法循环滑动。怎么解决? 思路:在图片集合中,多出两个位置。第一张放置最后一张图片,最后一个位置放置第一张图片。中间放你的图片集合。 代码: void pageSelected

a1027317350的专栏 2333

RK3588网卡出现丢包或者带宽不足的问题验证排查

注意除了有最大的TCP数据接收缓冲,还有/proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲可以调整,这里暂时没用到,针对具体需要可适当调整。比如把ethx接口中断从默认的cpu0迁移到其它cpu,例如将eth0中断234移到cpu7 (10是16进制, cpu0 =3588的cpu有8个核,4个A55(小核)+4个A76(大核),可以找到对应中断 将中断从默认cpu0核切到cpu7。tcp_rmem:单位是字节,接收缓存区大小,缓存从对端接收的数据,后续会被应用程序读取。

Android/Linux驱动开发传帮带学习,让驱动入门门槛更低! 2030

「HTML和CSS入门指南」hr 标签详解

标签是 HTML5 中用于插入水平分割线的标签,常用于在页面中添加分隔线或者段落之间的分割线。通过灵活运用 标签和属性,我们可以帮助用户更好地理解页面内容,同时也可以美化和装饰页面。在实际应用中需要注意避免过度使用 标签,以使页面看起来简洁明了。

a451319296的博客 7663

Android 使用ViewPager实现左右循环滑动图片和显示当前页码

ViewPager这个小demo实现的是可以左右循环滑动图片,下面带索引,滑到最后一页在往右滑动就要第一页,第一页往左滑动就到最后一页,先上效果图,用美女图片是我一贯的作风,呵呵 1.    首先看一些layout下的xml [html] view plaincopy FrameLayout xmlns:android="http://schemas.andr

I决定插手你的人生xx 的专栏 2739

为什么我的OpenClaw安装后无法启动?Gateway服务故障排查全攻略

OpenClaw是一款功能强大的自动化工具,但其安装和运行依赖于多个服务组件,其中Gateway服务是核心组件之一。如果Gateway服务无法启动,整个OpenClaw系统将无法正常运行。本文将详细介绍OpenClaw安装后无法启动的常见原因及故障排查方法,帮助你快速定位并解决问题。

一键难忘的博客 4625
上一篇: 同一个activity下的两个子fragment的数据传输
下一篇: 数据结构
WQcoder
博客等级 码龄10年 25粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值