Git Product home page Git Product logo

gauge's Introduction

Gauge

A Gauge View for Android

Release Build Status

Android Gauge

See my blog post for a brief introduction.

Example

<de.nitri.gauge.Gauge
            android:id="@+id/gauge"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginTop="10dp"
            gauge:initialValue="22"
            gauge:maxValue="100"
            gauge:minValue="0"
            gauge:totalNicks="120"
            gauge:valuePerNick="1" />

XML attributes

totalNicks

Total number of nicks on a full 360 degree scale. This should be a multiple of majorNickInterval.

valuePerNick

Float value (interval) per nick.

majorNickInterval

Integer interval (number of nicks) between enlarged nicks.

Note that there is always a major nick on top, that is at 0 degrees, so it is advisable that the sum of the min and max value be divisible by 2.

minValue

Float minimum value.

maxValue

Float maximum value.

intScale

Boolean for an integer scale (defaults to true).

initialValue

Float initial value.

labelTextSize

Float text size for the number labels (defaults to a calculated value).

faceColor

Integer face color.

scaleColor

Integer scale color.

needleColor

Integer needle color.

needleShadow

Boolean to apply a shadow effect to the needle (defaults to true).

upperText

String to display on upper gauge face (e.g. a quantity).

lowerText

String to display on lower gauge face (e.g. a unit).

textSize

Float text size for upper and lower text.

upperTextSize

Float text size for upper text.

lowerTextSize

Float text size for lower text.

Text size is in pixels at a screen width (max. canvas width/height) of 1080 and is scaled accordingly at different resolutions. E.g. a value of 48 is unchanged at 1080 x 1920 and scaled down to 27 at 600 x 1024.

Public methods

void setValue(float value)

Set gauge to value.

void moveToValue(float value)

Animate gauge to value.

void setUpperText(String text)

Set string to display on upper gauge face.

void setLowerText(String text)

Set string to display on lower gauge face.

void setTextSize(float relative pixels)

Set a text size for the upper and lower text.

void setUpperTextSize(float relative pixels)

Set or override the text size for the upper text.

void setLowerTextSize(float relative pixels)

Set or override the text size for the lower text.

void setDeltaTimeInterval(int value)

Set the delta time between movement steps during needle animation (default: 5 ms).

void setNeedleStepFactor(float value)

Set the factor that determines the step size during needle animation (default: 3f). The actual step size is calulated as follows: step_size = step_factor * scale_value_per_degree.

void setMinValue(float value)

Set the minimum scale value.

void setMaxValue(float value)

Set the maximum scale value.

void setTotalNicks(int nicks)

Set the total amount of nicks on a full 360 degree scale. Should be a multiple of majorNickInterval.

void setValuePerNick(float value)

Set the value (interval) per nick.

void setMajorNickInterval(int interval)

Set the interval (number of nicks) between enlarged nicks.

Text size is in pixels at a screen width (max. canvas width/height) of 1080 and is scaled accordingly at different resolutions. E.g. a value of 48 is unchanged at 1080 x 1920 and scaled down to 27 at 600 x 1024.

Javadoc

http://pygmalion.nitri.org/javadoc/gauge/

Gradle

Add the JitPack repository in your root build.gradle at the end of repositories:

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

Add the dependency:

dependencies {
    implementation 'com.github.Pygmalion69:Gauge:1.5'
}

App implementing this view

ErsaAndroid

gauge's People

Contributors

pygmalion69 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.