Skip to content

Commit

Permalink
Merge pull request #21 from anastr/version-1.1.4
Browse files Browse the repository at this point in the history
Version 1.1.4
  • Loading branch information
anastr authored Mar 3, 2017
2 parents 94c6a5c + fdf9262 commit 8d248ca
Show file tree
Hide file tree
Showing 47 changed files with 2,104 additions and 1,056 deletions.
65 changes: 52 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,21 @@ Dynamic Speedometer, Gauge for Android. **amazing**, **powerful**, and _multi sh

`minSdkVersion=8`

Library Size just ~ 40 Kb.
Library Size just ~ 46 KB.

[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-SpeedView-blue.svg?style=true)](https://android-arsenal.com/details/1/4169)
[![API](https://img.shields.io/badge/API-+8-red.svg?style=flat)](#)
[![Bintray](https://img.shields.io/bintray/v/anastr/maven/SpeedView.svg)](https://bintray.com/anastr/maven/SpeedView)

<img src="https://github.com/anastr/SpeedView/blob/master/images/SpeedView.gif" width="30%" />
<img src="https://github.com/anastr/SpeedView/blob/master/images/DeluxeSpeedView.gif" width="30%" />
<img src="https://github.com/anastr/SpeedView/blob/master/images/AwesomeSpeedometer.gif" width="30%" /><br/>
<img src="https://github.com/anastr/SpeedView/blob/master/images/RaySpeedometer.gif" width="30%" />
<img src="https://github.com/anastr/SpeedView/blob/master/images/PointerSpeedometer.gif" width="30%" />
<img src="https://github.com/anastr/SpeedView/blob/master/images/TubeSpeedometer.gif" width="30%" />
**Gauges...**<br/>
<img src="images/ProgressiveGauge.gif" width="49%" />
<img src="images/ImageLinearGauge.gif" width="49%" />


**Speedometers...**<br/>
<img src="images/SpeedView.gif" width="32%" />
<img src="images/AwesomeSpeedometer.gif" width="32%" />
<img src="images/PointerSpeedometer.gif" width="32%" />

# Download

Expand All @@ -24,7 +27,7 @@ Library Size just ~ 40 Kb.
```gradle
dependencies {
compile 'com.github.anastr:speedviewlib:1.1.3'
compile 'com.github.anastr:speedviewlib:1.1.4'
}
```
Expand All @@ -35,13 +38,13 @@ for **maven**
<dependency>
<groupId>com.github.anastr</groupId>
<artifactId>speedviewlib</artifactId>
<version>1.1.3</version>
<version>1.1.4</version>
<type>pom</type>
</dependency>
```
[Get Started](https://github.com/anastr/SpeedView/wiki/0.-Get-Started) with _Speedometer Library_.
# Simple Usage
add Speedometer to your `Layout.xml`.<br>
choose one of Speedometers, gauges and add it to your `Layout.xml`, here we use **SpeedView**.<br>
```xml

<com.github.anastr.speedviewlib.SpeedView
Expand All @@ -51,13 +54,13 @@ add Speedometer to your `Layout.xml`.<br>

```

for all speedometers, this simple method to move the indicator:
for all speedometers and gauges, this simple method to smoothly change speed:
```java
// move to 50 Km/s
speedometer.speedTo(50);
```

by default, indicator move Duration is 2000 ms.<br>
by default, the speed change Duration between last speed and new speed is `2000 ms`.<br>
you can use other Duration by method :
```java
// move to 50 Km/s with Duration = 4 sec
Expand All @@ -68,14 +71,15 @@ for more control, see The most important methods at [Get Started - Wiki](https:/
and also you can see **advanced usage** in [Usage - Wiki](https://github.com/anastr/SpeedView/wiki/Usage) and [Work With Notes - Wiki](https://github.com/anastr/SpeedView/wiki/Notes).<br>
<img src="/images/usage/StartEndDegree.png" width="40%" />
<img src="/images/usage/WorkWithNote.gif" width="35%" />
we have 7 Speedometers : <br>
we have **9 Speedometers, Gauges** : <br>
======================
<table style="width:100%">
<tr>
<th>Name</th>
<th>Screenshot</th>
<th>XML Layout</th>
</tr>

<tr>
<td width="24%"> <a href="https://github.com/anastr/SpeedView/wiki/1.-SpeedView">1. SpeedView - Wiki</a></td>
<td width="22%"><img src="/images/SpeedView3.png"/></td>
Expand All @@ -88,6 +92,7 @@ we have 7 Speedometers : <br>
</textarea></pre>
</td>
</tr>

<tr>
<td> <a href="https://github.com/anastr/SpeedView/wiki/2.-DeluxeSpeedView">2. DeluxeSpeedView - Wiki</a></td>
<td><img src="/images/DeluxeSpeedView2.png"/></td>
Expand All @@ -100,6 +105,7 @@ we have 7 Speedometers : <br>
</textarea></pre>
</td>
</tr>

<tr>
<td> <a href="https://github.com/anastr/SpeedView/wiki/3.-AwesomeSpeedometer">3. AwesomeSpeedometer - Wiki</a></td>
<td><img src="/images/AwesomeSpeedometer.png"/></td>
Expand All @@ -112,6 +118,7 @@ we have 7 Speedometers : <br>
</textarea></pre>
</td>
</tr>

<tr>
<td> <a href="https://github.com/anastr/SpeedView/wiki/4.-RaySpeedometer">4. RaySpeedometer - Wiki</a></td>
<td><img src="/images/RaySpeedometer.png"/></td>
Expand All @@ -124,6 +131,7 @@ we have 7 Speedometers : <br>
</textarea></pre>
</td>
</tr>

<tr>
<td> <a href="https://github.com/anastr/SpeedView/wiki/5.-PointerSpeedometer">5. PointerSpeedometer - Wiki</a></td>
<td><img src="/images/PointerSpeedometer.png"/></td>
Expand All @@ -136,6 +144,7 @@ we have 7 Speedometers : <br>
</textarea></pre>
</td>
</tr>

<tr>
<td> <a href="https://github.com/anastr/SpeedView/wiki/6.-TubeSpeedometer">6. TubeSpeedometer - Wiki</a></td>
<td><img src="/images/TubeSpeedometer.png"/></td>
Expand All @@ -148,6 +157,7 @@ we have 7 Speedometers : <br>
</textarea></pre>
</td>
</tr>

<tr>
<td> <a href="https://github.com/anastr/SpeedView/wiki/7.-ImageSpeedometer">7. ImageSpeedometer - Wiki</a></td>
<td><img src="/images/ImageSpeedometer.png"/></td>
Expand All @@ -161,12 +171,41 @@ we have 7 Speedometers : <br>
</textarea></pre>
</td>
</tr>

<tr>
<td> <a href="https://github.com/anastr/SpeedView/wiki/8.-ProgressiveGauge">8. ProgressiveGauge - Wiki</a></td>
<td><img src="/images/ProgressiveGauge.png"/></td>
   <td>
<pre><textarea>
<com.github.anastr.speedviewlib.ProgressiveGauge
android:id="@+id/gauge"
android:layout_width="300dp"
android:layout_height="wrap_content" />
</textarea></pre>
</td>
</tr>

<tr>
<td> <a href="https://github.com/anastr/SpeedView/wiki/9.-ImageLinearGauge">9. ImageLinearGauge - Wiki</a></td>
<td><img src="/images/ImageLinearGauge.png"/></td>
   <td>
<pre><textarea>
<com.github.anastr.speedviewlib.ImageLinearGauge
android:id="@+id/gauge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:sv_image="@drawable/fire" />
</textarea></pre>
</td>
</tr>
</table>

## TODO
* add fuel gauge component.
* build new custom speedometer.

your `pull request` is always Welcome, please review the **[rules of contribution](https://github.com/anastr/SpeedView/wiki/Contributing)** to make useful change.

## Coming Soon ...
i well try to draw this Speedometer.
if you have any idea, image, template please **open new issue** and give me the image , and i well try to add it to the Library.
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@
<activity android:name=".StartEndDegreeActivity" />
<activity android:name=".WorkWithModesActivity" />
<activity android:name=".SpeedTextPositionActivity" />
<activity android:name=".lineargauge.ProgressiveGaugeActivity" />
<activity android:name=".lineargauge.ImageLinearGaugeActivity" />
</application>

</manifest>
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import com.github.anastr.speedviewlib.PointerSpeedometer;
import com.github.anastr.speedviewlib.RaySpeedometer;
import com.github.anastr.speedviewlib.SpeedView;
import com.github.anastr.speedviewlib.Speedometer;
import com.github.anastr.speedviewlib.base.Speedometer;
import com.github.anastr.speedviewlib.TubeSpeedometer;
import com.github.anastr.speedviewlib.components.Indicators.Indicator;

Expand Down
14 changes: 13 additions & 1 deletion app/src/main/java/com/github/anastr/speedview/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
import android.widget.ArrayAdapter;
import android.widget.ListView;

import com.github.anastr.speedview.lineargauge.ImageLinearGaugeActivity;
import com.github.anastr.speedview.lineargauge.ProgressiveGaugeActivity;

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {

@Override
Expand All @@ -30,7 +33,10 @@ protected void onCreate(Bundle savedInstanceState) {
"Create Speedometer Programmatically",
"Work With Start and End Degree",
"Work With Modes",
"Speed Text Position" };
"Speed Text Position",
"1. ProgressiveGauge",
"2. ImageLinearGauge"
};

ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, values);
Expand Down Expand Up @@ -82,6 +88,12 @@ public void onItemClick(AdapterView<?> adapterView, View view, int position, lon
case 12:
intent.setClass(MainActivity.this, SpeedTextPositionActivity.class);
break;
case 13:
intent.setClass(MainActivity.this, ProgressiveGaugeActivity.class);
break;
case 14:
intent.setClass(MainActivity.this, ImageLinearGaugeActivity.class);
break;
}
startActivity(intent);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
import android.widget.SeekBar;
import android.widget.TextView;

import com.github.anastr.speedviewlib.base.Gauge;
import com.github.anastr.speedviewlib.PointerSpeedometer;
import com.github.anastr.speedviewlib.Speedometer;
import com.github.anastr.speedviewlib.util.OnSpeedChangeListener;

import java.util.Locale;
Expand Down Expand Up @@ -57,9 +57,9 @@ public void onStopTrackingTouch(SeekBar seekBar) {

pointerSpeedometer.setOnSpeedChangeListener(new OnSpeedChangeListener() {
@Override
public void onSpeedChange(Speedometer speedometer, boolean isSpeedUp, boolean isByTremble) {
public void onSpeedChange(Gauge gauge, boolean isSpeedUp, boolean isByTremble) {
textSpeedChange.setText(String.format(Locale.getDefault(), "onSpeedChange %d"
, speedometer.getCorrectIntSpeed()));
, gauge.getCorrectIntSpeed()));
}
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import android.widget.ArrayAdapter;
import android.widget.Spinner;

import com.github.anastr.speedviewlib.Speedometer;
import com.github.anastr.speedviewlib.base.Speedometer;

import java.util.ArrayList;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import android.widget.SeekBar;
import android.widget.TextView;

import com.github.anastr.speedviewlib.Speedometer;
import com.github.anastr.speedviewlib.base.Speedometer;

import java.util.Locale;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import android.widget.Spinner;
import android.widget.TextView;

import com.github.anastr.speedviewlib.Speedometer;
import com.github.anastr.speedviewlib.base.Speedometer;
import com.github.anastr.speedviewlib.components.Indicators.ImageIndicator;
import com.github.anastr.speedviewlib.components.Indicators.Indicator;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import android.widget.ArrayAdapter;
import android.widget.Spinner;

import com.github.anastr.speedviewlib.Speedometer;
import com.github.anastr.speedviewlib.base.Speedometer;

import java.util.ArrayList;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package com.github.anastr.speedview.lineargauge;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.TextView;

import com.github.anastr.speedview.R;
import com.github.anastr.speedviewlib.ImageLinearGauge;

import java.util.Locale;

public class ImageLinearGaugeActivity extends AppCompatActivity {

ImageLinearGauge imageLinearGauge;
SeekBar seekBar;
Button ok;
TextView textSpeed;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_image_linear_gauge);

imageLinearGauge = (ImageLinearGauge) findViewById(R.id.gauge);
seekBar = (SeekBar) findViewById(R.id.seekBar);
ok = (Button) findViewById(R.id.ok);
textSpeed = (TextView) findViewById(R.id.textSpeed);

ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageLinearGauge.speedTo(seekBar.getProgress());
}
});

seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
textSpeed.setText(String.format(Locale.getDefault(), "%d", progress));
}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}

@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package com.github.anastr.speedview.lineargauge;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.TextView;

import com.github.anastr.speedview.R;
import com.github.anastr.speedviewlib.ProgressiveGauge;

import java.util.Locale;

public class ProgressiveGaugeActivity extends AppCompatActivity {

ProgressiveGauge progressiveGauge;
SeekBar seekBar;
Button ok;
TextView textSpeed;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_progressive_gauge);

progressiveGauge = (ProgressiveGauge) findViewById(R.id.gauge);
seekBar = (SeekBar) findViewById(R.id.seekBar);
ok = (Button) findViewById(R.id.ok);
textSpeed = (TextView) findViewById(R.id.textSpeed);

ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
progressiveGauge.speedTo(seekBar.getProgress());
}
});

seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
textSpeed.setText(String.format(Locale.getDefault(), "%d", progress));
}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}

@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
}
}
Binary file added app/src/main/res/drawable/fire.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 8d248ca

Please sign in to comment.