Coder Social home page Coder Social logo

18722650553 / mu5viewpager Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jmstefanandroid/mu5viewpager

0.0 1.0 0.0 1.86 MB

仿小红书商品详情效果,根据图片高度动态变化的ViewPager(平滑过渡~)😀😀

Java 75.15% Kotlin 24.85%

mu5viewpager's Introduction

Mu5ViewPager

根据图片高度动态变化的ViewPager 核心:根据每张图片的高度去动态计算更新viewpager的高度,核心原理详见Mu5ViewPager的OnPageChangeListener方法

UI

Mu5ViewPager

Demo

Download

How to use?

Step1

Add the JitPack repository to your build file

allprojects {
	repositories {
		...
		maven { url 'https://www.jitpack.io' }
	}
}

Step2

Add the dependency

dependencies {
	compile 'com.github.JmStefanAndroid:Mu5ViewPager:1.2'
}

1.xml中

        <me.stefan.library.mu5viewpager.Mu5ViewPager
            android:id="@+id/viewpager"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

2.实现接口 Mu5Interface

public class 你的类 implements Mu5Interface{

    @Override //每页的变化 可用于显示页数 
    public void onIndexChange(int currentIndex) {
    }
    
    @Override  //完全自主的图片加载库,你可以选择任意你想用的三方库或者自己去实现 
    public void onLoadImage(final ImageView imageView, String url, final int position) {
            ...
            
                mu5ViewPager.bindSource(loadedImage, position, imageView);//请务必在加载完成图片后调用bindSource
            
            ...
    }
}

3.初始化

    mu5ViewPager = (Mu5ViewPager) findViewById(R.id.viewpager);
    
    mu5ViewPager.setData(datas, this);//datas支持绑定类型String[] 或者 List<String>

注意 NOTICE!~

1.若您想自定义OnPageChangeListener,请通过 setUserCustomPageChangeListener 方法来设置您的回调,否则将影响控件的使用

mu5viewpager's People

Contributors

jmstefanandroid avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.