diff --git a/README.md b/README.md
index 51ee54a..6c77270 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@ Dynamic Speedometer, Gauge for Android. **amazing**, **powerful**, and _multi sh
`minSdkVersion=11`
-Library Size just ~ 24 Kb.
+Library Size just ~ 34 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-+11-red.svg?style=flat)](#)
@@ -14,6 +14,8 @@ Library Size just ~ 24 Kb.
![](/images/AwesomeSpeedometer.gif)
+
+
# Download
@@ -22,7 +24,7 @@ Library Size just ~ 24 Kb.
```gradle
dependencies {
- compile 'com.github.anastr:speedviewlib:1.1.1'
+ compile 'com.github.anastr:speedviewlib:1.1.2'
}
```
@@ -33,7 +35,7 @@ for **maven**
com.github.anastr
speedviewlib
- 1.1.1
+ 1.1.2
pom
```
@@ -66,7 +68,7 @@ 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).
-we have 5 Speedometers :
+we have 7 Speedometers :
======================
Name | Screenshot
--- | ---
@@ -75,6 +77,8 @@ Name | Screenshot
[3. AwesomeSpeedometer - Wiki](https://github.com/anastr/SpeedView/wiki/3.-AwesomeSpeedometer) |
[4. RaySpeedometer - Wiki](https://github.com/anastr/SpeedView/wiki/4.-RaySpeedometer) |
[5. PointerSpeedometer - Wiki](https://github.com/anastr/SpeedView/wiki/5.-PointerSpeedometer) |
+[6. TubeSpeedometer - Wiki](https://github.com/anastr/SpeedView/wiki/6.-TubeSpeedometer) |
+[7. ImageSpeedometer - Wiki](https://github.com/anastr/SpeedView/wiki/7.-ImageSpeedometer) |
## Coming Soon ...
i well try to draw this Speedometer.
diff --git a/images/ImageSpeedometer.gif b/images/ImageSpeedometer.gif
new file mode 100644
index 0000000..629548d
Binary files /dev/null and b/images/ImageSpeedometer.gif differ
diff --git a/images/ImageSpeedometer.png b/images/ImageSpeedometer.png
new file mode 100644
index 0000000..a63431f
Binary files /dev/null and b/images/ImageSpeedometer.png differ
diff --git a/images/TubeSpeedometer.gif b/images/TubeSpeedometer.gif
new file mode 100644
index 0000000..ec7b231
Binary files /dev/null and b/images/TubeSpeedometer.gif differ
diff --git a/images/TubeSpeedometer.png b/images/TubeSpeedometer.png
new file mode 100644
index 0000000..ae3e557
Binary files /dev/null and b/images/TubeSpeedometer.png differ
diff --git a/speedviewlib/build.gradle b/speedviewlib/build.gradle
index cb71035..2bbdd26 100644
--- a/speedviewlib/build.gradle
+++ b/speedviewlib/build.gradle
@@ -49,7 +49,7 @@ Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
group = 'com.github.anastr'
-version = '1.1.1'
+version = '1.1.2'
bintray {
user = properties.getProperty("bintray.user")
@@ -59,10 +59,10 @@ bintray {
name = 'SpeedView'
version {
- name = '1.1.1'
+ name = '1.1.2'
desc = 'Speedometer UI for Android'
released = new Date()
- vcsTag = '1.1.1'
+ vcsTag = '1.1.2'
}
licenses = ['Apache-2.0']
diff --git a/speedviewlib/src/main/java/com/github/anastr/speedviewlib/AwesomeSpeedometer.java b/speedviewlib/src/main/java/com/github/anastr/speedviewlib/AwesomeSpeedometer.java
index ff18ebb..e59d0e4 100644
--- a/speedviewlib/src/main/java/com/github/anastr/speedviewlib/AwesomeSpeedometer.java
+++ b/speedviewlib/src/main/java/com/github/anastr/speedviewlib/AwesomeSpeedometer.java
@@ -88,19 +88,19 @@ private void initAttributeValue() {
protected void onSizeChanged(int w, int h, int oldW, int oldH) {
super.onSizeChanged(w, h, oldW, oldH);
- float risk = getSpeedometerWidth()/2f + padding;
+ float risk = getSpeedometerWidth()/2f + getPadding();
speedometerRect.set(risk, risk, w -risk, h -risk);
float markH = getHeightPa()/22f;
markPath.reset();
- markPath.moveTo(w/2f, padding);
- markPath.lineTo(w/2f, markH + padding);
+ markPath.moveTo(w/2f, getPadding());
+ markPath.lineTo(w/2f, markH + getPadding());
markPaint.setStrokeWidth(markH/5f);
trianglesPath.reset();
- trianglesPath.moveTo(w/2f, padding + getHeightPa()/20f);
- trianglesPath.lineTo(w/2f -(w/40f), padding);
- trianglesPath.lineTo(w/2f +(w/40f), padding);
+ trianglesPath.moveTo(w/2f, getPadding() + getHeightPa()/20f);
+ trianglesPath.lineTo(w/2f -(w/40f), getPadding());
+ trianglesPath.lineTo(w/2f +(w/40f), getPadding());
updateGradient();
updateBackgroundBitmap();
@@ -151,7 +151,7 @@ protected Bitmap updateBackgroundBitmap() {
initDraw();
backgroundBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(backgroundBitmap);
- c.drawCircle(getWidth()/2f, getHeight()/2f, getWidth()/2f - padding, circleBackPaint);
+ c.drawCircle(getWidth()/2f, getHeight()/2f, getWidth()/2f - getPadding(), circleBackPaint);
c.drawArc(speedometerRect, 0f, 360f, false, ringPaint);
@@ -162,7 +162,7 @@ protected Bitmap updateBackgroundBitmap() {
if (i % 40 == 0) {
c.drawPath(trianglesPath, trianglesPaint);
c.drawText(String.format(getLocale(), "%d", (int)getSpeedAtDegree(i + getStartDegree()))
- , getWidth()/2f, getHeightPa()/20f +textPaint.getTextSize() + padding, textPaint);
+ , getWidth()/2f, getHeightPa()/20f +textPaint.getTextSize() + getPadding(), textPaint);
}
else {
if (i % 20 == 0)
diff --git a/speedviewlib/src/main/java/com/github/anastr/speedviewlib/DeluxeSpeedView.java b/speedviewlib/src/main/java/com/github/anastr/speedviewlib/DeluxeSpeedView.java
index 0639c4a..895bc05 100644
--- a/speedviewlib/src/main/java/com/github/anastr/speedviewlib/DeluxeSpeedView.java
+++ b/speedviewlib/src/main/java/com/github/anastr/speedviewlib/DeluxeSpeedView.java
@@ -90,19 +90,19 @@ private void initAttributeValue() {
protected void onSizeChanged(int w, int h, int oldW, int oldH) {
super.onSizeChanged(w, h, oldW, oldH);
- float risk = getSpeedometerWidth()/2f + padding;
+ float risk = getSpeedometerWidth()/2f + getPadding();
speedometerRect.set(risk, risk, w -risk, h -risk);
float markH = getHeightPa()/28f;
markPath.reset();
- markPath.moveTo(w/2f, padding);
- markPath.lineTo(w/2f, markH + padding);
+ markPath.moveTo(w/2f, getPadding());
+ markPath.lineTo(w/2f, markH + getPadding());
markPaint.setStrokeWidth(markH/3f);
float smallMarkH = getHeightPa()/20f;
smallMarkPath.reset();
- smallMarkPath.moveTo(w/2f, getSpeedometerWidth() + padding);
- smallMarkPath.lineTo(w/2f, getSpeedometerWidth() + padding + smallMarkH);
+ smallMarkPath.moveTo(w/2f, getSpeedometerWidth() + getPadding());
+ smallMarkPath.lineTo(w/2f, getSpeedometerWidth() + getPadding() + smallMarkH);
smallMarkPaint.setStrokeWidth(3);
updateBackgroundBitmap();
@@ -127,8 +127,8 @@ protected void onDraw(Canvas canvas) {
float speedTextPadding = dpTOpx(1);
float unitTextPadding = dpTOpx(1f);
float unitW = unitTextPadding + unitTextPaint.measureText(getUnit()) + 5;
- speedBackgroundRect.top = getHeightPa()*.9f + padding - Math.max(speedTextPaint.getTextSize(), unitTextPaint.getTextSize());
- speedBackgroundRect.bottom = getHeightPa()*.9f + padding + 4f;
+ speedBackgroundRect.top = getHeightPa()*.9f + getPadding() - Math.max(speedTextPaint.getTextSize(), unitTextPaint.getTextSize());
+ speedBackgroundRect.bottom = getHeightPa()*.9f + getPadding() + 4f;
if (isSpeedometerTextRightToLeft()) {
unitTextPaint.setTextAlign(Paint.Align.RIGHT);
speedBackgroundRect.left = getWidth()/2f - unitW;
@@ -146,9 +146,9 @@ protected void onDraw(Canvas canvas) {
canvas.drawRect(speedBackgroundRect, speedBackgroundPaint);
canvas.drawText(speedText
- , getWidth()/2f - speedTextPadding, getHeightPa()*.9f + padding, speedTextPaint);
+ , getWidth()/2f - speedTextPadding, getHeightPa()*.9f + getPadding(), speedTextPaint);
canvas.drawText(getUnit()
- , getWidth()/2f + unitTextPadding, getHeightPa()*.9f + padding, unitTextPaint);
+ , getWidth()/2f + unitTextPadding, getHeightPa()*.9f + getPadding(), unitTextPaint);
drawNotes(canvas);
}
@@ -160,7 +160,7 @@ protected Bitmap updateBackgroundBitmap() {
initDraw();
backgroundBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(backgroundBitmap);
- c.drawCircle(getWidth()/2f, getHeight()/2f, getWidth()/2f - padding, circleBackPaint);
+ c.drawCircle(getWidth()/2f, getHeight()/2f, getWidth()/2f - getPadding(), circleBackPaint);
speedometerPaint.setColor(getHighSpeedColor());
c.drawArc(speedometerRect, getStartDegree(), getEndDegree()- getStartDegree(), false, speedometerPaint);
diff --git a/speedviewlib/src/main/java/com/github/anastr/speedviewlib/ImageSpeedometer.java b/speedviewlib/src/main/java/com/github/anastr/speedviewlib/ImageSpeedometer.java
index 22d84b3..b994e42 100644
--- a/speedviewlib/src/main/java/com/github/anastr/speedviewlib/ImageSpeedometer.java
+++ b/speedviewlib/src/main/java/com/github/anastr/speedviewlib/ImageSpeedometer.java
@@ -66,7 +66,7 @@ protected void onDraw(Canvas canvas) {
else
speedTextPaint.setTextAlign(Paint.Align.RIGHT);
canvas.drawText(getSpeedText()
- , getWidth()/2f - speedTextPadding, getHeightPa()*.9f + padding, speedTextPaint);
+ , getWidth()/2f - speedTextPadding, getHeightPa()*.9f + getPadding(), speedTextPaint);
drawNotes(canvas);
}
@@ -77,7 +77,7 @@ protected Bitmap updateBackgroundBitmap() {
return null;
backgroundBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(backgroundBitmap);
- c.drawCircle(getWidth()/2f, getHeight()/2f, getWidth()/2f - padding, circleBackPaint);
+ c.drawCircle(getWidth()/2f, getHeight()/2f, getWidth()/2f - getPadding(), circleBackPaint);
if (imageSpeedometer != null) {
imageSpeedometer.setBounds(getPadding(), getPadding()
@@ -94,7 +94,7 @@ protected Bitmap updateBackgroundBitmap() {
unitTextPaint.setTextAlign(Paint.Align.LEFT);
c.drawText(getUnit()
- , getWidth()/2f + unitTextPadding, getHeightPa()*.9f + padding, unitTextPaint);
+ , getWidth()/2f + unitTextPadding, getHeightPa()*.9f + getPadding(), unitTextPaint);
return backgroundBitmap;
}
diff --git a/speedviewlib/src/main/java/com/github/anastr/speedviewlib/PointerSpeedometer.java b/speedviewlib/src/main/java/com/github/anastr/speedviewlib/PointerSpeedometer.java
index e4a11b3..21dd71c 100644
--- a/speedviewlib/src/main/java/com/github/anastr/speedviewlib/PointerSpeedometer.java
+++ b/speedviewlib/src/main/java/com/github/anastr/speedviewlib/PointerSpeedometer.java
@@ -95,12 +95,12 @@ private void initAttributeValue() {
protected void onSizeChanged(int w, int h, int oldW, int oldH) {
super.onSizeChanged(w, h, oldW, oldH);
- float risk = getSpeedometerWidth()/2f + dpTOpx(8) + padding;
+ float risk = getSpeedometerWidth()/2f + dpTOpx(8) + getPadding();
speedometerRect.set(risk, risk, w -risk, h -risk);
markPath.reset();
- markPath.moveTo(w/2f, getSpeedometerWidth() + dpTOpx(8) + dpTOpx(4) + padding);
- markPath.lineTo(w/2f, getSpeedometerWidth() + dpTOpx(8) + dpTOpx(4) + padding + w/60);
+ markPath.moveTo(w/2f, getSpeedometerWidth() + dpTOpx(8) + dpTOpx(4) + getPadding());
+ markPath.lineTo(w/2f, getSpeedometerWidth() + dpTOpx(8) + dpTOpx(4) + getPadding() + w/60);
updateRadial();
updateBackgroundBitmap();
@@ -123,9 +123,9 @@ protected void onDraw(Canvas canvas) {
canvas.save();
canvas.rotate(90 + getDegree(), getWidth()/2f, getHeight()/2f);
- canvas.drawCircle(getWidth()/2f, getSpeedometerWidth()/2f + dpTOpx(8) + padding
+ canvas.drawCircle(getWidth()/2f, getSpeedometerWidth()/2f + dpTOpx(8) + getPadding()
, getSpeedometerWidth()/2f + dpTOpx(8), pointerBackPaint);
- canvas.drawCircle(getWidth()/2f, getSpeedometerWidth()/2f + dpTOpx(8) + padding
+ canvas.drawCircle(getWidth()/2f, getSpeedometerWidth()/2f + dpTOpx(8) + getPadding()
, getSpeedometerWidth()/2f + dpTOpx(1), pointerPaint);
canvas.restore();
@@ -146,7 +146,7 @@ protected void onDraw(Canvas canvas) {
else
speedTextPaint.setTextAlign(Paint.Align.RIGHT);
canvas.drawText(getSpeedText()
- , getWidth()/2f - speedTextPadding, getHeightPa()*.9f + padding, speedTextPaint);
+ , getWidth()/2f - speedTextPadding, getHeightPa()*.9f + getPadding(), speedTextPaint);
drawNotes(canvas);
}
@@ -158,7 +158,7 @@ protected Bitmap updateBackgroundBitmap() {
initDraw();
backgroundBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(backgroundBitmap);
- c.drawCircle(getWidth()/2f, getHeight()/2f, getWidth()/2f - padding, circleBackPaint);
+ c.drawCircle(getWidth()/2f, getHeight()/2f, getWidth()/2f - getPadding(), circleBackPaint);
c.save();
c.rotate(90f + getStartDegree(), getWidth()/2f, getHeight()/2f);
@@ -180,7 +180,7 @@ protected Bitmap updateBackgroundBitmap() {
unitTextPaint.setTextAlign(Paint.Align.LEFT);
c.drawText(getUnit()
- , getWidth()/2f + unitTextPadding, getHeightPa()*.9f + padding, unitTextPaint);
+ , getWidth()/2f + unitTextPadding, getHeightPa()*.9f + getPadding(), unitTextPaint);
return backgroundBitmap;
}
@@ -203,7 +203,7 @@ private SweepGradient updateSweep() {
private void updateRadial() {
int centerColor = Color.argb(160, Color.red(pointerColor), Color.green(pointerColor), Color.blue(pointerColor));
int edgeColor = Color.argb(10, Color.red(pointerColor), Color.green(pointerColor), Color.blue(pointerColor));
- RadialGradient pointerGradient = new RadialGradient(getWidth()/2f, getSpeedometerWidth()/2f + dpTOpx(8) + padding
+ RadialGradient pointerGradient = new RadialGradient(getWidth()/2f, getSpeedometerWidth()/2f + dpTOpx(8) + getPadding()
, getSpeedometerWidth()/2f + dpTOpx(8), new int[]{centerColor, edgeColor}
, new float[]{.4f, 1f}, Shader.TileMode.CLAMP);
pointerBackPaint.setShader(pointerGradient);
diff --git a/speedviewlib/src/main/java/com/github/anastr/speedviewlib/RaySpeedometer.java b/speedviewlib/src/main/java/com/github/anastr/speedviewlib/RaySpeedometer.java
index a6442dc..2e5e530 100644
--- a/speedviewlib/src/main/java/com/github/anastr/speedviewlib/RaySpeedometer.java
+++ b/speedviewlib/src/main/java/com/github/anastr/speedviewlib/RaySpeedometer.java
@@ -99,20 +99,22 @@ protected void onSizeChanged(int w, int h, int oldW, int oldH) {
speedometerRect.set(risk, risk, w -risk, h -risk);
markPath.reset();
- markPath.moveTo(w/2f, padding);
- markPath.lineTo(w/2f, getSpeedometerWidth() + padding);
+ markPath.moveTo(w/2f, getPadding());
+ markPath.lineTo(w/2f, getSpeedometerWidth() + getPadding());
ray1Path.reset();
ray1Path.moveTo(w/2f, h/2f);
- ray1Path.lineTo(w/2f, getHeightPa()/3.2f + padding); ray1Path.moveTo(w/2f, getHeightPa()/3.2f + padding);
- ray1Path.lineTo(w/2.2f, getHeightPa()/3f + padding); ray1Path.moveTo(w/2.2f, getHeightPa()/3f + padding);
- ray1Path.lineTo(w/2.1f, getHeightPa()/4.5f + padding);
+ ray1Path.lineTo(w/2f, getHeightPa()/3.2f + getPadding());
+ ray1Path.moveTo(w/2f, getHeightPa()/3.2f + getPadding());
+ ray1Path.lineTo(w/2.2f, getHeightPa()/3f + getPadding());
+ ray1Path.moveTo(w/2.2f, getHeightPa()/3f + getPadding());
+ ray1Path.lineTo(w/2.1f, getHeightPa()/4.5f + getPadding());
ray2Path.reset();
ray2Path.moveTo(w/2f, h/2f);
- ray2Path.lineTo(w/2f, getHeightPa()/3.2f + padding); ray2Path.moveTo(w/2f, getHeightPa()/3.2f + padding);
- ray2Path.lineTo(w/2.2f, getHeightPa()/3.8f + padding); ray2Path.moveTo(w/2f, getHeightPa()/3.2f + padding);
- ray2Path.lineTo(w/1.8f, getHeightPa()/3.8f + padding);
+ ray2Path.lineTo(w/2f, getHeightPa()/3.2f + getPadding()); ray2Path.moveTo(w/2f, getHeightPa()/3.2f + getPadding());
+ ray2Path.lineTo(w/2.2f, getHeightPa()/3.8f + getPadding()); ray2Path.moveTo(w/2f, getHeightPa()/3.2f + getPadding());
+ ray2Path.lineTo(w/1.8f, getHeightPa()/3.8f + getPadding());
updateBackgroundBitmap();
}
@@ -179,7 +181,7 @@ protected Bitmap updateBackgroundBitmap() {
return null;
backgroundBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(backgroundBitmap);
- c.drawCircle(getWidth()/2f, getHeight()/2f, getWidth()/2f - padding, circleBackPaint);
+ c.drawCircle(getWidth()/2f, getHeight()/2f, getWidth()/2f - getPadding(), circleBackPaint);
c.save();
for (int i=0; i<6; i++) {
diff --git a/speedviewlib/src/main/java/com/github/anastr/speedviewlib/SpeedView.java b/speedviewlib/src/main/java/com/github/anastr/speedviewlib/SpeedView.java
index f965509..8d3a885 100644
--- a/speedviewlib/src/main/java/com/github/anastr/speedviewlib/SpeedView.java
+++ b/speedviewlib/src/main/java/com/github/anastr/speedviewlib/SpeedView.java
@@ -51,13 +51,13 @@ private void init() {
protected void onSizeChanged(int w, int h, int oldW, int oldH) {
super.onSizeChanged(w, h, oldW, oldH);
- float risk = getSpeedometerWidth()/2f + padding;
+ float risk = getSpeedometerWidth()/2f + getPadding();
speedometerRect.set(risk, risk, w -risk, h -risk);
float markH = getHeightPa()/28f;
markPath.reset();
- markPath.moveTo(w/2f, padding);
- markPath.lineTo(w/2f, markH + padding);
+ markPath.moveTo(w/2f, getPadding());
+ markPath.lineTo(w/2f, markH + getPadding());
markPaint.setStrokeWidth(markH/3f);
updateBackgroundBitmap();
@@ -85,7 +85,7 @@ protected void onDraw(Canvas canvas) {
else
speedTextPaint.setTextAlign(Paint.Align.RIGHT);
canvas.drawText(getSpeedText()
- , getWidth()/2f - speedTextPadding, getHeightPa()*.9f + padding, speedTextPaint);
+ , getWidth()/2f - speedTextPadding, getHeightPa()*.9f + getPadding(), speedTextPaint);
drawNotes(canvas);
}
@@ -97,7 +97,7 @@ protected Bitmap updateBackgroundBitmap() {
initDraw();
backgroundBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(backgroundBitmap);
- c.drawCircle(getWidth()/2f, getHeight()/2f, getWidth()/2f - padding, circleBackPaint);
+ c.drawCircle(getWidth()/2f, getHeight()/2f, getWidth()/2f - getPadding(), circleBackPaint);
speedometerPaint.setColor(getHighSpeedColor());
c.drawArc(speedometerRect, getStartDegree(), getEndDegree()- getStartDegree(), false, speedometerPaint);
@@ -128,7 +128,7 @@ protected Bitmap updateBackgroundBitmap() {
unitTextPaint.setTextAlign(Paint.Align.LEFT);
c.drawText(getUnit()
- , getWidth()/2f + unitTextPadding, getHeightPa()*.9f + padding, unitTextPaint);
+ , getWidth()/2f + unitTextPadding, getHeightPa()*.9f + getPadding(), unitTextPaint);
return backgroundBitmap;
}
diff --git a/speedviewlib/src/main/java/com/github/anastr/speedviewlib/Speedometer.java b/speedviewlib/src/main/java/com/github/anastr/speedviewlib/Speedometer.java
index 8c24110..52de3b2 100644
--- a/speedviewlib/src/main/java/com/github/anastr/speedviewlib/Speedometer.java
+++ b/speedviewlib/src/main/java/com/github/anastr/speedviewlib/Speedometer.java
@@ -8,6 +8,7 @@
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
+import android.os.Build;
import android.text.TextPaint;
import android.util.AttributeSet;
import android.view.View;
@@ -106,7 +107,7 @@ public void onAnimationRepeat(Animator animation) {
/** to contain all drawing that doesn't change */
protected Bitmap backgroundBitmap;
protected Paint backgroundBitmapPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
- protected int padding = 0;
+ private int padding = 0;
/** low speed area, started from {@link #startDegree} */
private int lowSpeedPercent = 60;
@@ -277,6 +278,9 @@ public float pxTOdp(float px) {
private void updatePadding() {
padding = Math.max(Math.max(getPaddingLeft(), getPaddingRight()), Math.max(getPaddingTop(), getPaddingBottom()));
+ super.setPadding(padding, padding, padding, padding);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
+ super.setPaddingRelative(padding, padding, padding, padding);
indicator.noticePaddingChange(padding);
}
diff --git a/speedviewlib/src/main/java/com/github/anastr/speedviewlib/TubeSpeedometer.java b/speedviewlib/src/main/java/com/github/anastr/speedviewlib/TubeSpeedometer.java
index c9d7f29..b1cb569 100644
--- a/speedviewlib/src/main/java/com/github/anastr/speedviewlib/TubeSpeedometer.java
+++ b/speedviewlib/src/main/java/com/github/anastr/speedviewlib/TubeSpeedometer.java
@@ -75,7 +75,7 @@ private void initAttributeValue() {
protected void onSizeChanged(int w, int h, int oldW, int oldH) {
super.onSizeChanged(w, h, oldW, oldH);
- float risk = getSpeedometerWidth()/2f + padding;
+ float risk = getSpeedometerWidth()/2f + getPadding();
speedometerRect.set(risk, risk, w -risk, h -risk);
updateEmboss();
@@ -127,7 +127,7 @@ protected void onDraw(Canvas canvas) {
else
speedTextPaint.setTextAlign(Paint.Align.RIGHT);
canvas.drawText(getSpeedText()
- , getWidth()/2f - speedTextPadding, getHeightPa()*.9f + padding, speedTextPaint);
+ , getWidth()/2f - speedTextPadding, getHeightPa()*.9f + getPadding(), speedTextPaint);
drawNotes(canvas);
}
@@ -139,7 +139,7 @@ protected Bitmap updateBackgroundBitmap() {
initDraw();
backgroundBitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(backgroundBitmap);
- c.drawCircle(getWidth()/2f, getHeight()/2f, getWidth()/2f - padding, circleBackPaint);
+ c.drawCircle(getWidth()/2f, getHeight()/2f, getWidth()/2f - getPadding(), circleBackPaint);
c.drawArc(speedometerRect, getStartDegree(), getEndDegree()- getStartDegree(), false, tubeBacPaint);
@@ -154,7 +154,7 @@ protected Bitmap updateBackgroundBitmap() {
unitTextPaint.setTextAlign(Paint.Align.LEFT);
c.drawText(getUnit()
- , getWidth()/2f + unitTextPadding, getHeightPa()*.9f + padding, unitTextPaint);
+ , getWidth()/2f + unitTextPadding, getHeightPa()*.9f + getPadding(), unitTextPaint);
return backgroundBitmap;
}