Giter Site home page Giter Site logo

waveview's Introduction

中文介绍

WaveView

A view to display wave effect.

Screenshot

Screenshot

Integration

implementation 'com.gelitenight.waveview:waveview:1.0.0'

Setter methods:

  • setWaveShiftRatio - Shift the wave horizontally.
  • setWaterLevelRatio - Set water level.
  • setAmplitudeRatio - Set vertical size of wave.
  • setWaveLengthRatio - Set horizontal size of wave.

You can use Property Animation to animate WaveView.

// horizontal animation.
// wave waves infinitely.
ObjectAnimator waveShiftAnim = ObjectAnimator.ofFloat(
        mWaveView, "waveShiftRatio", 0f, 1f);
waveShiftAnim.setRepeatCount(ValueAnimator.INFINITE);
waveShiftAnim.setDuration(1000);
waveShiftAnim.setInterpolator(new LinearInterpolator());

// vertical animation.
// water level increases from 0 to center of WaveView
ObjectAnimator waterLevelAnim = ObjectAnimator.ofFloat(
        mWaveView, "waterLevelRatio", 0f, 0.5f);
waterLevelAnim.setDuration(10000);
waterLevelAnim.setInterpolator(new DecelerateInterpolator());
animators.add(waterLevelAnim);

// amplitude animation.
// wave grows big then grows small, repeatedly
ObjectAnimator amplitudeAnim = ObjectAnimator.ofFloat(
        mWaveView, "amplitudeRatio", 0f, 0.05f);
amplitudeAnim.setRepeatCount(ValueAnimator.INFINITE);
amplitudeAnim.setRepeatMode(ValueAnimator.REVERSE);
amplitudeAnim.setDuration(5000);
amplitudeAnim.setInterpolator(new LinearInterpolator());
animators.add(amplitudeAnim);

打个广告

美团平台及酒旅事业群招人啦,欢迎加入我们! 我可以帮忙内推,简历请发到我邮箱[email protected]

【美团网】高级Android开发工程师 工作内容: 负责美团酒店、旅游产品 Android 客户端的设计、开发与改进。

  1. 3年以上工作经验,2年以上Android开发经验;
  2. 熟悉Android系统,熟悉Android软件的开发、测试、分发流程;
  3. 良好的编程风格,扎实的编程基础和数据结构算法基础;
  4. 熟悉移动网络的特性,对网络编程和常用网络协议有较深刻理解和经验;
  5. 有一定的架构设计能力,良好的编码能力,编写文档能力;
  6. 热爱互联网和新技术,具有极强的快速学习能力;
  7. 有以下特征优先考虑:
    • 有开源作品或技术博客(需原创技术文章);
    • 熟悉Socket编程。

北京、上海、厦门、成都都有职位,更多职位请见职位列表

waveview's People

Contributors

ardacebi avatar gelitenight avatar matteosist avatar wasabi-lee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

waveview's Issues

Why can't I set WaveView opaque?

I want to set WaveView opaque.
I have set up the Alpha of wavePaint1 to 255.
But no matter what i do, View is still transparent.
Do you have some good method?

Like this(the red view should be opaque).
image

use

how to use this ?

How to recognize that wave has covered my screen while holding an button ?

I want to call some action when wave has covered my screen while holding an button, i implement the motion event action up and down as well.
Actually,
When the wave covers my screen fully and i release that button,action up called for that button and
i check the
if(waterLevelAnim.getAnimatedFraction()==1.0)
it works
But i want to check this thing while holding the button,not releasing the button.

Please help me to solve this.

Shadow

I am trying to create an elevation for this view when its placed on another view. How do u do this ?

A Gap in the Wave

In my simulator(1080*1920,API 19),there is a white vertical line in the wave, and I have find the solution:In WaveView.java -> createShader ,change from final float endX = getWidth(); to final float endX = getWidth()+1;

Support for latest API level

Hello,

We are currently using your library in one of our applications. Actually we need a favour from your side. According to the Google Play Policy, all apps have to provide support for at least API level 26. It seems like yours is not as per the new Google Play Policy. We are targeting API level 28. So can you please provide us support for API level 28 in your current repository?

Making the WaveView fill the remaining space after rotation is not working

I am trying to use the library in conjunction with the gyroscope values so that when I rotate the phone, I get the water flowing effect.

The only problem is, when the WaveView rotates, it doesn't expand it's height and width to fill the blank area that's generated in the sides.
This happens even if I have given match_parent as the width.

Is there a way to get this working?
Or am I getting something wrong?

I have put a stackoverflow question too, with images, here : https://stackoverflow.com/q/48369005/7947474

选择颜色,然后旋转屏幕会crash

复现:随便选择一个颜色(除默认的灰色),旋转屏幕

原因分析:修改颜色后旋屏会调用 setWaveColor(),此时heightwidth都为 0
不知道为什么会调用 setWaveColor()

暂时解决: 在 createShader() 中添加如下代码

if (getHeight() == 0) {
            return;
}

如何设置渐变呢?发现效果不理想哈

如果放到bitmap上面去画的话,属性动画位移的时候,会有颜色位移的色带。如果是放到onDraw里面的话,就会出现断层的问题,我是drawArc,麻烦指点一二,谢谢

How to change water level?

Water level always set to 50% of view. How i can set any other level to using it like a progress bar?

Method setWaterLevelRatio dont do anything.

Thanks in advance!

如果完全去除边框啊?

我这边的需求是没有边框的,我在布局中设置了match_parent,也通过seekbar 将边框设置最小,可是还是不能填充完空间,请问有什么好办法么? 是需要我自己重写onmeause()?

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.