Skip to content

Commit

Permalink
Merge pull request #46 from anastr/version-1.1.5
Browse files Browse the repository at this point in the history
Version 1.1.6
  • Loading branch information
anastr authored Sep 11, 2017
2 parents 0c0a6fb + f4cdb21 commit 0cf94b8
Show file tree
Hide file tree
Showing 33 changed files with 438 additions and 185 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Library Size just ~ 50 KB.
```gradle
dependencies {
compile 'com.github.anastr:speedviewlib:1.1.5'
compile 'com.github.anastr:speedviewlib:1.1.6'
}
```
Expand All @@ -38,7 +38,7 @@ for **maven**
<dependency>
<groupId>com.github.anastr</groupId>
<artifactId>speedviewlib</artifactId>
<version>1.1.5</version>
<version>1.1.6</version>
<type>pom</type>
</dependency>
```
Expand Down
10 changes: 5 additions & 5 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
apply plugin: 'com.android.application'

android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
compileSdkVersion 26
buildToolsVersion "26.0.1"

defaultConfig {
applicationId "com.github.anastr.speedview"
minSdkVersion 8
targetSdkVersion 25
minSdkVersion 9
targetSdkVersion 26
versionCode 1
versionName "1.0"
}
Expand All @@ -23,6 +23,6 @@ android {
}

dependencies {
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:appcompat-v7:25.2.0'
compile project(':speedviewlib')
}
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.base.Speedometer;
import com.github.anastr.speedviewlib.Speedometer;
import com.github.anastr.speedviewlib.TubeSpeedometer;
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.SeekBar;
import android.widget.TextView;

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

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.base.Speedometer;
import com.github.anastr.speedviewlib.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.base.Speedometer;
import com.github.anastr.speedviewlib.Speedometer;

import java.util.Locale;

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

import com.github.anastr.speedviewlib.base.Speedometer;
import com.github.anastr.speedviewlib.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.base.Speedometer;
import com.github.anastr.speedviewlib.Speedometer;
import com.github.anastr.speedviewlib.components.Indicators.ImageIndicator;
import com.github.anastr.speedviewlib.components.Indicators.Indicator;

Expand Down Expand Up @@ -46,8 +46,10 @@ protected void onCreate(Bundle savedInstanceState) {
categories.add("LineIndicator");
categories.add("HalfLineIndicator");
categories.add("QuarterLineIndicator");
categories.add("KiteIndicator");
categories.add("NeedleIndicator");

ArrayAdapter<String> dataAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, categories);
ArrayAdapter<String> dataAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_dropdown_item, categories);
spinner.setAdapter(dataAdapter);
spinner.setSelection(1);

Expand Down Expand Up @@ -97,6 +99,12 @@ public void onItemSelected(AdapterView<?> parent, View view, int position, long
case 7:
speedometer.setIndicator(Indicator.Indicators.QuarterLineIndicator);
break;
case 8:
speedometer.setIndicator(Indicator.Indicators.KiteIndicator);
break;
case 9:
speedometer.setIndicator(Indicator.Indicators.NeedleIndicator);
break;
}
}

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.base.Speedometer;
import com.github.anastr.speedviewlib.Speedometer;

import java.util.ArrayList;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

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

import java.util.Locale;

Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.2'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
classpath "com.github.dcendents:android-maven-gradle-plugin:1.4.1"

// NOTE: Do not place your application dependencies here; they belong
Expand Down
Binary file added images/usage/indicators/KiteIndicator.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/usage/indicators/NeedleIndicator.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 6 additions & 6 deletions speedviewlib/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ apply plugin: 'com.jfrog.bintray'
apply plugin: 'com.github.dcendents.android-maven'

android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
compileSdkVersion 26
buildToolsVersion "26.0.1"

defaultConfig {
minSdkVersion 8
targetSdkVersion 25
targetSdkVersion 26
versionCode 1
versionName "1.0"
}
Expand Down Expand Up @@ -49,7 +49,7 @@ Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())

group = 'com.github.anastr'
version = '1.1.5'
version = '1.1.6'

bintray {
user = properties.getProperty("bintray.user")
Expand All @@ -59,10 +59,10 @@ bintray {
name = 'SpeedView'

version {
name = '1.1.5'
name = this.version
desc = 'Dynamic Speedometer, Gauge for Android. amazing, powerful, and multi shape'
released = new Date()
vcsTag = '1.1.5'
vcsTag = this.version
}

licenses = ['Apache-2.0']
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import android.graphics.Typeface;
import android.util.AttributeSet;

import com.github.anastr.speedviewlib.base.Speedometer;
import com.github.anastr.speedviewlib.components.Indicators.TriangleIndicator;

/**
Expand All @@ -28,7 +27,7 @@ public class AwesomeSpeedometer extends Speedometer {
trianglesPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
private RectF speedometerRect = new RectF();

private int speedometerColor = Color.parseColor("#00e6e6");
private int speedometerColor = 0xff00e6e6;

private float triangleHeight = 0f;

Expand All @@ -49,7 +48,7 @@ public AwesomeSpeedometer(Context context, AttributeSet attrs, int defStyleAttr)
@Override
protected void defaultGaugeValues() {

super.setTextColor(Color.parseColor("#ffc260"));
super.setTextColor(0xffffc260);
super.setSpeedTextColor(Color.WHITE);
super.setUnitTextColor(Color.WHITE);
super.setTextTypeface(Typeface.create(Typeface.DEFAULT, Typeface.BOLD));
Expand All @@ -61,10 +60,10 @@ protected void defaultGaugeValues() {
protected void defaultSpeedometerValues() {
super.setIndicator(new TriangleIndicator(getContext())
.setIndicatorWidth(dpTOpx(25f))
.setIndicatorColor(Color.parseColor("#00e6e6")));
.setIndicatorColor(0xff00e6e6));
super.setStartEndDegree(135, 135 + 320);
super.setSpeedometerWidth(dpTOpx(60f));
super.setBackgroundCircleColor(Color.parseColor("#212121"));
super.setBackgroundCircleColor(0xff212121);
super.setTickNumber(9);
super.setTickPadding(0);
}
Expand All @@ -74,7 +73,7 @@ private void init() {
textPaint.setTextAlign(Paint.Align.CENTER);
ringPaint.setStyle(Paint.Style.STROKE);
textPaint.setTextSize(dpTOpx(10));
trianglesPaint.setColor(Color.parseColor("#3949ab"));
trianglesPaint.setColor(0xff3949ab);
}

private void initAttributeSet(Context context, AttributeSet attrs) {
Expand All @@ -96,14 +95,14 @@ protected void onSizeChanged(int w, int h, int oldW, int oldH) {
}

private void updateGradient() {
float stop = (getWidthPa() *.5f - getSpeedometerWidth()) / (getWidthPa() *.5f);
float stop = (getSizePa() *.5f - getSpeedometerWidth()) / (getSizePa() *.5f);
float stop2 = stop+((1f-stop)*.1f);
float stop3 = stop+((1f-stop)*.36f);
float stop4 = stop+((1f-stop)*.64f);
float stop5 = stop+((1f-stop)*.9f);
int []colors = new int[]{getBackgroundCircleColor(), speedometerColor, getBackgroundCircleColor()
, getBackgroundCircleColor(), speedometerColor, speedometerColor};
Shader radialGradient = new RadialGradient(getSize() *.5f, getSize() *.5f, getWidthPa() *.5f
Shader radialGradient = new RadialGradient(getSize() *.5f, getSize() *.5f, getSizePa() *.5f
, colors, new float[]{stop, stop2, stop3, stop4, stop5, 1f}, Shader.TileMode.CLAMP);
ringPaint.setShader(radialGradient);
}
Expand All @@ -130,64 +129,52 @@ protected void updateBackgroundBitmap() {
Canvas c = createBackgroundBitmapCanvas();
initDraw();

float markH = getHeightPa()/22f;
float markH = getViewSizePa()/22f;
markPath.reset();
markPath.moveTo(getSize() *.5f, getPadding());
markPath.lineTo(getSize() *.5f, markH + getPadding());
markPaint.setStrokeWidth(markH/5f);

triangleHeight = getHeightPa()/20f;
triangleHeight = getViewSizePa()/20f;
setInitTickPadding(triangleHeight);

trianglesPath.reset();
trianglesPath.moveTo(getSize() *.5f, getPadding() + getHeightPa()/20f);
trianglesPath.lineTo(getSize() *.5f -(getSize()/40f), getPadding());
trianglesPath.lineTo(getSize() *.5f +(getSize()/40f), getPadding());
trianglesPath.moveTo(getSize() *.5f, getPadding() + getViewSizePa()/20f);
float triangleWidth = getViewSize()/20f;
trianglesPath.lineTo(getSize() *.5f - triangleWidth/2f, getPadding());
trianglesPath.lineTo(getSize() *.5f + triangleWidth/2f, getPadding());

float risk = getSpeedometerWidth() *.5f + getPadding();
speedometerRect.set(risk, risk, getSize() -risk, getSize() -risk);
c.drawArc(speedometerRect, 0f, 360f, false, ringPaint);

drawMarks(c);
drawTicks(c);
}

@Override
protected void drawTicks(Canvas c) {
if(getTickNumber() == 0)
return;
int drawnTick = 0;
c.save();
c.rotate(getStartDegree()+90f, getSize() *.5f, getSize() *.5f);
// tick each degree
float tickEach = getTickNumber() != 1 ? (float)(getEndDegree() - getStartDegree()) / (float)(getTickNumber()-1)
: getEndDegree() +1f;
for (int i = 1; i <= getTickNumber(); i++) {
if (!isTickRotation()) {
c.save();
c.rotate(-(getStartDegree()+90f + tickEach * drawnTick)
, getSize() *.5f, textPaint.getTextSize() + getPadding() + getTickPadding());
}
protected void drawMarks(Canvas c) {
for (int i=0; i < getTickNumber(); i++) {
float d = getDegreeAtSpeed(getTicks().get(i)) + 90f;
c.save();
c.rotate(d, getSize() *.5f, getSize() *.5f);

c.drawText(String.format(getLocale(), "%d", (int)getSpeedAtDegree(tickEach * drawnTick + getStartDegree()))
, getSize() *.5f, triangleHeight + textPaint.getTextSize() + getPadding() + getTickPadding(), textPaint);
if (!isTickRotation())
c.restore();
drawnTick++;
c.drawPath(trianglesPath, trianglesPaint);
if(drawnTick == getTickNumber())
break;
c.save();
for (int j=1; j < 10; j++) {
c.rotate(tickEach*.1f, getSize() *.5f, getSize() *.5f);
if (j == 5)
markPaint.setStrokeWidth(getSize()/22f/5);
else
markPaint.setStrokeWidth(getSize()/22f/9);
c.drawPath(markPath, markPaint);
if(i+1 != getTickNumber()) {
c.save();
float d2 = getDegreeAtSpeed(getTicks().get(i + 1)) + 90f;
float eachDegree = d2 - d;
for (int j = 1; j < 10; j++) {
c.rotate(eachDegree * .1f, getSize() * .5f, getSize() * .5f);
if (j == 5)
markPaint.setStrokeWidth(getSize() / 22f / 5);
else
markPaint.setStrokeWidth(getSize() / 22f / 9);
c.drawPath(markPath, markPaint);
}
c.restore();
}
c.restore();
c.rotate(tickEach, getSize() *.5f, getSize() *.5f);
}
c.restore();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import android.os.Build;
import android.util.AttributeSet;

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

Expand Down Expand Up @@ -54,19 +53,19 @@ protected void defaultGaugeValues() {
@Override
protected void defaultSpeedometerValues() {
super.setIndicator(new NormalSmallIndicator(getContext())
.setIndicatorColor(Color.parseColor("#00ffec")));
super.setBackgroundCircleColor(Color.parseColor("#212121"));
super.setLowSpeedColor(Color.parseColor("#37872f"));
super.setMediumSpeedColor(Color.parseColor("#a38234"));
super.setHighSpeedColor(Color.parseColor("#9b2020"));
.setIndicatorColor(0xff00ffec));
super.setBackgroundCircleColor(0xff212121);
super.setLowSpeedColor(0xff37872f);
super.setMediumSpeedColor(0xffa38234);
super.setHighSpeedColor(0xff9b2020);
}

private void init() {
speedometerPaint.setStyle(Paint.Style.STROKE);
markPaint.setStyle(Paint.Style.STROKE);
smallMarkPaint.setStyle(Paint.Style.STROKE);
speedBackgroundPaint.setColor(Color.WHITE);
circlePaint.setColor(Color.parseColor("#e0e0e0"));
circlePaint.setColor(0xffe0e0e0);

if (Build.VERSION.SDK_INT >= 11)
setLayerType(LAYER_TYPE_SOFTWARE, null);
Expand Down Expand Up @@ -127,13 +126,13 @@ protected void updateBackgroundBitmap() {
Canvas c = createBackgroundBitmapCanvas();
initDraw();

float smallMarkH = getHeightPa()/20f;
float smallMarkH = getViewSizePa()/20f;
smallMarkPath.reset();
smallMarkPath.moveTo(getSize() *.5f, getSpeedometerWidth() + getPadding());
smallMarkPath.lineTo(getSize() *.5f, getSpeedometerWidth() + getPadding() + smallMarkH);
smallMarkPaint.setStrokeWidth(3);

float markH = getHeightPa()/28f;
float markH = getViewSizePa()/28f;
markPath.reset();
markPath.moveTo(getSize() *.5f, getPadding());
markPath.lineTo(getSize() *.5f, markH + getPadding());
Expand Down
Loading

0 comments on commit 0cf94b8

Please sign in to comment.