A wave view of android,can be used as progress bar.

Overview

icon

WaveView

![Gitter](https://badges.gitter.im/Join Chat.svg) Android Arsenal

A wave view of android,can be used as progress bar.

Screenshot


APK


demo.apk

What can be used as


  • background
  • progress bar

How to use


https://github.com/john990/WaveView/blob/master/app/src/main/res/layout/main.xml#L7-L17

    <com.john.waveview.WaveView
        android:id="@+id/wave_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ff702e8c"
        wave:above_wave_color="@android:color/white"
        wave:blow_wave_color="@android:color/white"
        wave:progress="80"
        wave:wave_height="little"
        wave:wave_hz="normal"
        wave:wave_length="middle" />

or you can just use(default progress is 80%)

    <com.john.waveview.WaveView
        android:id="@+id/wave_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/holo_purple"
        />

dependencies

allprojects {
		repositories {
			...
			maven { url "https://jitpack.io" }
		}
	}
	
	dependencies {
	        compile 'com.github.john990:WaveView:v0.9'
	}
Comments
  • gap time in wave.java

    gap time in wave.java

    Checking the code, found out this: long gap = 16 - System.currentTimeMillis() - start; File: Wave.java -- Class: RefreshProgressRunnable i am always getting negative values...why not make it: long gap = 16 - (System.currentTimeMillis() - start); so it gets a positive number always and we can delete gap < 0 ? 0 : gap check?

    opened by Golgorz 1
  • Update project

    Update project

    Hello there,

    I forked your great project to make it easier to implement with gradle. You can check it out from here

    Thanks again for perfect library. Good luck.

    opened by emreaktrk 1
  • High CPU usage ?

    High CPU usage ?

    After a long time, the phone gets hot and the monitor in AS tells the cpu usage is around 30%(for only one view, about 60% for two view) ? Anyone met the problem?

    opened by 531149907 0
  • Add a Gitter chat badge to README.md

    Add a Gitter chat badge to README.md

    opened by gitter-badger 0
  • feat: Wave color customisable

    feat: Wave color customisable

    • Users can apply background color, wave filling's color and alpha declaratively (XML) or programatically. [#6,#23]

    • Users can alter above and below wave's color and alpha. [#23]
    <com.john.waveview.WaveView
            android:id="@+id/wave_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#FFFFFF"
            wave:above_wave_color="@color/dark_blue"
            wave:blow_wave_color="@color/light_blue"
            wave:above_wave_color_alpha="0.5"
            wave:blow_wave_color_alpha="0.3"
            wave:progress="80"
            wave:wave_height="large"
            wave:wave_hz="normal"
            wave:wave_length="middle" 
            wave:wave_color="@color/holo_purple"
            wave:wave_alpha="0.5"/>
    
            waveView.setAboveWaveColor(color);
            waveView.setBlowWaveColor(color);
            waveView.setWaveColor(color);
            waveView.setWaveAlpha(0.5f);
            waveView.setAboveWaveColorAlpha(0.3f);
            waveView.setBlowWaveColorAlpha(0.3f);
    
    • Made default above and below wave color to be that of the actual wave color, instead of white color.
    • Users can make the wave color to be their gradient color. [#24]

    ....
    wave:background="@drawable/gradient_background"/>
    

    waveView.setWaveBackgroundDrawable(getResources().getDrawable(R.drawable.gradient_background));

    opened by Kalaiz 1
  • feat: Fill to brim

    feat: Fill to brim

    • Allows users to let the view fill to the brim on their discretion via the newly created boolean attribute: fill_to_brim.

    Users alter this feature like this:
    . . .
    wave:wave_length="middle"
    wave:fill_to_brim="true" />
    
    • Includes only Gradle update and README Badge fix done in #25. Note: It does not consider the feature implemented in #25.

    • README sample code update based on this feature.

    opened by Kalaiz 0
  • feat: Customisable WaveHz

    feat: Customisable WaveHz

    • Users can change wave speed manually; Any value [0,1]. This will give them more control on the speed of the wave. Example of using custom hz value for wave:

    Users simply have to set the newly altered attribute wave_hz:

    wave:wave_hz="0.09"
    wave:fill_to_brim="true" />
    
    • Upgraded Gradle plugin version to 4.11 and Gradle version to 6.5 While running on Android Studio IDE 4.1.1,a prompt to upgrade Gradle appeared"Support for builds using Gradle versions older than 2.6 was removed in tooling API version 5.0. You are currently using Gradle version 2.2. You should upgrade your Gradle build to use Gradle 2.6 or later."

    • Updated and fixed minor issue regarding badge in README:

    • Added public getter for progess (#21)

    opened by Kalaiz 0
  • Gradient fill?

    Gradient fill?

    Is there a scope of the library being updated to support gradient fills? In order to support a subtle effect like the following (I am referring to the background alone, ignore the dark objects on each image) image It's a part of an app I am working on that has millions of downloads, and would thus impact a huge audience.

    opened by sagarvasnani 1
Releases(v0.9)
Owner
Kai Wang
Kai Wang
A togglelayout that can be used in setting interface

ToggleExpandLayout A togglelayout that can be used in setting interface. Originally designed by dribbble. And the author said that's why he designed t

Rongchan Liu 893 Dec 6, 2022
A layout that creates a loading-like progress around it's child ( circle ) on touch, inspired from Destiny's ( PS4 ) accept mechanism

HoldToLoadLayout HoldToLoadLayout is a view group that can contain a single child. It draws your child to middle of layout, and performs loading wheel

Melih Aksoy 79 Feb 8, 2022
null 2.4k Dec 30, 2022
Android library used to create an awesome Android UI based on a draggable element similar to the last YouTube graphic component.

Draggable Panel DEPRECATED. This project is not maintained anymore. Draggable Panel is an Android library created to build a draggable user interface

Pedro Vicente Gómez Sánchez 3k Jan 5, 2023
Android library used to create an awesome Android UI based on a draggable element similar to the last YouTube New graphic component.

Please switch to DragView, for the best support, thank you DraggablePanel Download allprojects { repositories { ... maven { url 'https://jitp

Hoàng Anh Tuấn 103 Oct 12, 2022
SwipeBack is an android library that can finish a activity by using gesture.

SwipeBack SwipeBack is a android library that can finish a activity by using gesture. You can set the swipe direction,such as left,top,right and botto

Eric 1.7k Nov 21, 2022
Make Android DrawerLayout can be dragged out in real-time within the range of fullscreen

FullDraggableDrawer Make the DrawerLayout can be dragged/pulled out in real-time within the range of fullscreen, like Pure Writer: * Full demo video:

Pure Writer 264 Nov 29, 2022
Draftsman is an on device layout inspector which can be embedded in your android app.

Draftsman Draftsman is an on-device layout inspector for Android apps. It allows you to view various properties of rendered Android Views such as widt

Gojek 243 Dec 22, 2022
TileView is a subclass of android.view.ViewGroup that asynchronously displays, pans and zooms tile-based images. Plugins are available for features like markers, hotspots, and path drawing.

This project isn't maintained anymore. It is now recommended to use https://github.com/peterLaurence/MapView. MapView is maintained by Peter, one of o

Mike Dunn 1.5k Nov 21, 2022
Android component which presents a dismissible view from the bottom of the screen

BottomSheet BottomSheet is an Android component which presents a dismissible view from the bottom of the screen. BottomSheet can be a useful replaceme

Flipboard 4.5k Dec 28, 2022
A swipeable - auto resizing view group for android

SwipeableLayout A swipeable - auto resizing view group for android Usage build.gradle compile 'com.wmbest.widget:swipeable-layout:1.0.+@aar' -- or --

Bill Best 114 Nov 25, 2022
Bubble View for Android.

BubbleLayout Bubble View for Android with custom stroke width and color, arrow size, position and direction. BubbleLayout Extends the FrameLayout. Gra

Masayuki Suda 964 Dec 28, 2022
Show triangle view.

TriangleLabelView Show triangle view. How to Use To see how the TriangleLabelView are added to your xml layouts, check the sample project. <jp.shts.an

Shota Saito 877 Dec 6, 2022
VoronoiView is a view (ViewGroup) that allows you to add and display views inside Voronoi diagram regions.

Vorolay VoronoiView is a view (ViewGroup) that allows you to add and display views inside Voronoi diagram regions. [Voronoi diagram] (https://en.wikip

Daniil Jurjev 918 Dec 4, 2022
A library for showing different types of layouts when a list view is empty

Android Empty Layout Please note that this project is not being maintained now. Hopefully a new version will be available soon. A library for showing

Raquib-ul Alam (Kanak) 606 Nov 26, 2022
Material Design Search View Layout, now implemented in Google Maps, Dialer, etc

THIS PROJECT IS DEPRECATED Component is not maintained anymore. Implementation of Lollipop+ Dialer and Google Maps. DEMO Add in View Add to your layou

Sahil Dave 1.1k Dec 22, 2022
Bubbles for Android is an Android library to provide chat heads capabilities on your apps. With a fast way to integrate with your development.

Bubbles for Android Bubbles for Android is an Android library to provide chat heads capabilities on your apps. With a fast way to integrate with your

Txus Ballesteros 1.5k Jan 2, 2023
FixedHeaderTableLayout is a powerful Android library for displaying complex data structures and rendering tabular data composed of rows, columns and cells with scrolling and zooming features. FixedHeaderTableLayout is similar in construction and use as to Android's TableLayout

FixedHeaderTableLayout is a powerful Android library for displaying complex data structures and rendering tabular data composed of rows, columns and cells with scrolling and zooming features. FixedHeaderTableLayout is similar in construction and use as to Android's TableLayout

null 33 Dec 8, 2022