博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
图片的左右切换
阅读量:4292 次
发布时间:2019-05-27

本文共 4733 字,大约阅读时间需要 15 分钟。

public class BigPicActivity extends BaseActivity implements BigPicInterface {    @Bind(R.id.title_content)    TextView titleContent;    @Bind(R.id.title_return)    ImageView titleReturn;    @Bind(R.id.search)    ImageView search;    @Bind(R.id.extendedVP)    ExtendedViewPager extendedVP;    @Bind(R.id.tv_numcount)    TextView tvNumcount;    @Bind(R.id.tv_describe)    TextView tv_describe;    private String type = "eighteen"; //请求类型 six : 6 张 eighteen : 18 张    private User user;    private int position;    private BigPicData bigPicData;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_bigpic);        position = getIntent().getIntExtra(ActivityHelp.KEY_POSITION, 0);        initData();    }    private void initView() {        tv_describe.setMovementMethod(new ScrollingMovementMethod());        extendedVP.setAdapter(new BigPicAdapter(bigPicData.getData(),appContext));        extendedVP.setCurrentItem(position);        extendedVP.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {            @Override            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {            }            @Override            public void onPageSelected(int position) {                setShoePerNum(position);            }            @Override            public void onPageScrollStateChanged(int state) {            }        });        setShoePerNum(position);    }  private void initData() {        BigPicPresenter bigPicPresenter = new BigPicPresenter(DataManager.getInstance());        bigPicPresenter.attachView(this);        bigPicPresenter.loadData();    }      @Override    public void onLoadDataSuccess(BigPicData bigPicData) {        if (bigPicData.getStatus() == Constant.SUCCESS) {            this.bigPicData = bigPicData;            initView();        }else{            MyToast.showShort(bigPicData.getMsg());        }    }        private void setShoePerNum(int num) {        if (bigPicData.getData() != null) {            String title = bigPicData.getData().get(num).getTitle();            titleContent.setText(title);            tv_describe.setText(bigPicData.getData().get(num).getDescription());            num++;            if (num <= 0)                num = 1;            tvNumcount.setText(num + "/" + bigPicData.getData().size());        }    }

}

//Adapter方法

public class BigPicAdapter extends PagerAdapter {    private List
Data; private AppContext appContext; public BigPicAdapter(List
Data, AppContext appContext) { this.Data = Data; this.appContext = appContext; } @Override public int getCount() { return Data.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public Object instantiateItem(ViewGroup container, int position) { TouchImageView img = new TouchImageView(appContext); img.setScaleType(ImageView.ScaleType.FIT_CENTER); String url = Data.get(position).getPictureUrl(); if (!TextUtils.isEmpty(url)&&url.startsWith("http")) { ImageLoader.getInstance().displayImage(url, img, appContext.options); } else { ImageLoader.getInstance().displayImage("file://" + url, img, appContext.options); } container.addView(img, RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT); return img; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); }}
 
//XML方法
 
//自定义方法
package com.jzg.jcpt.view;import android.content.Context;import android.support.v4.view.ViewPager;import android.util.AttributeSet;import android.view.View;/** * 支持放大缩小image的viewpager */public class ExtendedViewPager extends ViewPager {    public ExtendedViewPager(Context context) {        super(context);    }    public ExtendedViewPager(Context context, AttributeSet attrs) {        super(context, attrs);    }    @Override    protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {        if (v instanceof TouchImageView) {            //            // canScrollHorizontally is not supported for Api < 14. To get around this issue,            // ViewPager is extended and canScrollHorizontallyFroyo, a wrapper around            // canScrollHorizontally supporting Api >= 8, is called.            //            return ((TouchImageView) v).canScrollHorizontallyFroyo(-dx);        } else {            return super.canScroll(v, checkV, dx, x, y);        }    }}

转载地址:http://ydggi.baihongyu.com/

你可能感兴趣的文章
关于QPS、TPS、PV、UV、GMV、IP、RPS
查看>>
Laravel应用代码分层
查看>>
命令行的艺术
查看>>
MySQL高性能优化实战总结!
查看>>
你对swoole的进程,线程知道多少
查看>>
ElasticSearch安装 (Mac)
查看>>
Elasticsearch index [XXX] blocked by: [FORBIDDEN/12/index read-only / allow delete (api)]问题解决
查看>>
架构技术及架构要素
查看>>
安装tp6后开启多应用模式
查看>>
分布式事务的2PC、3PC、TCC
查看>>
什么是架构?
查看>>
架构设计(一) 架构演变
查看>>
书单《人性的弱点》
查看>>
配置nginx反向代理解析不同域名转发到不同端口
查看>>
Docker安装gitbook
查看>>
Zookeeper入门看这篇就够了
查看>>
爬虫IP代理池
查看>>
使用yield大量数据处理
查看>>
高级 PHP 工程师必备的编码技巧及思维
查看>>
如何快速搭建实用的爬虫管理平台
查看>>