Skip to content

Commit 1e11e74

Browse files
committed
Fix the progress bar calibration algorithm
1 parent a2b8920 commit 1e11e74

6 files changed

Lines changed: 27 additions & 12 deletions

File tree

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,5 @@
2222
.idea/vcs.xml
2323

2424
.idea/runConfigurations.xml
25+
26+
projectFilesBackup/.idea/workspace.xml

app/src/main/java/io/netopen/hotbitmapgg/creditsesameringview/Fragment1.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import android.animation.ArgbEvaluator;
44
import android.animation.ObjectAnimator;
5+
import android.annotation.SuppressLint;
56
import android.os.Bundle;
67
import android.support.annotation.Nullable;
78
import android.support.v4.app.Fragment;
@@ -11,6 +12,8 @@
1112
import android.widget.ImageView;
1213
import android.widget.RelativeLayout;
1314

15+
import java.util.Random;
16+
1417
import io.netopen.hotbitmapgg.view.NewCreditSesameView;
1518

1619
/**
@@ -29,10 +32,9 @@ public class Fragment1 extends Fragment
2932

3033
private RelativeLayout mLayout;
3134

32-
private ImageView mButton;
33-
3435
private NewCreditSesameView newCreditSesameView;
3536

37+
private Random random = new Random();
3638

3739
public static Fragment1 newInstance()
3840
{
@@ -43,12 +45,13 @@ public static Fragment1 newInstance()
4345

4446
@Nullable
4547
@Override
48+
@SuppressLint("InflateParams")
4649
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)
4750
{
4851

4952
View view = inflater.inflate(R.layout.fragment_1, null);
5053
mLayout = (RelativeLayout) view.findViewById(R.id.layout);
51-
mButton = (ImageView) view.findViewById(R.id.btn);
54+
ImageView mButton = (ImageView) view.findViewById(R.id.btn);
5255
newCreditSesameView = (NewCreditSesameView) view.findViewById(R.id.sesame_view);
5356
mLayout.setBackgroundColor(mColors[0]);
5457
mButton.setOnClickListener(new View.OnClickListener()
@@ -58,7 +61,8 @@ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
5861
public void onClick(View view)
5962
{
6063

61-
newCreditSesameView.setSesameValues(639);
64+
int i = random.nextInt(950);
65+
newCreditSesameView.setSesameValues(i);
6266
startColorChangeAnim();
6367
}
6468
});

app/src/main/java/io/netopen/hotbitmapgg/creditsesameringview/Fragment2.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.netopen.hotbitmapgg.creditsesameringview;
22

3+
import android.annotation.SuppressLint;
34
import android.os.Bundle;
45
import android.support.annotation.Nullable;
56
import android.support.v4.app.Fragment;
@@ -8,6 +9,8 @@
89
import android.view.ViewGroup;
910
import android.widget.ImageView;
1011

12+
import java.util.Random;
13+
1114
import io.netopen.hotbitmapgg.view.OldCreditSesameView;
1215

1316
/**
@@ -19,7 +22,7 @@ public class Fragment2 extends Fragment
1922

2023
private OldCreditSesameView oldCreditSesameView;
2124

22-
private ImageView mButton;
25+
private Random random = new Random();
2326

2427
public static Fragment2 newInstance()
2528
{
@@ -30,20 +33,22 @@ public static Fragment2 newInstance()
3033

3134
@Nullable
3235
@Override
36+
@SuppressLint("InflateParams")
3337
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)
3438
{
3539

3640
View view = inflater.inflate(R.layout.fragment_2, null);
3741
oldCreditSesameView = (OldCreditSesameView) view.findViewById(R.id.sesame_view);
38-
mButton = (ImageView) view.findViewById(R.id.btn);
42+
ImageView mButton = (ImageView) view.findViewById(R.id.btn);
3943
mButton.setOnClickListener(new View.OnClickListener()
4044
{
4145

4246
@Override
4347
public void onClick(View view)
4448
{
4549

46-
oldCreditSesameView.setSesameValues(639);
50+
int i = random.nextInt(950);
51+
oldCreditSesameView.setSesameValues(i);
4752
}
4853
});
4954

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ buildscript {
55
jcenter()
66
}
77
dependencies {
8-
classpath 'com.android.tools.build:gradle:2.1.3'
8+
classpath 'com.android.tools.build:gradle:2.2.1'
99

1010
// NOTE: Do not place your application dependencies here; they belong
1111
// in the individual module build.gradle files

view/src/main/java/io/netopen/hotbitmapgg/view/NewCreditSesameView.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,14 +437,16 @@ public void setSesameValues(int values)
437437
if (values > 550 && values <= 600)
438438
{
439439
sesameLevel = "信用中等";
440+
mTotalAngle = (values - 550) * 120 / 150f + 43;
440441
} else if (values > 600 && values <= 650)
441442
{
442443
sesameLevel = "信用良好";
444+
mTotalAngle = (values - 550) * 120 / 150f + 45;
443445
} else
444446
{
445447
sesameLevel = "信用优秀";
448+
mTotalAngle = (values - 550) * 120 / 150f + 48;
446449
}
447-
mTotalAngle = (values - 550) * 120 / 150f + 43;
448450
evaluationTime = "评估时间:" + getCurrentTime();
449451
} else if (values <= 950)
450452
{

view/src/main/java/io/netopen/hotbitmapgg/view/OldCreditSesameView.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import android.graphics.SweepGradient;
2020
import android.util.AttributeSet;
2121
import android.view.View;
22-
import android.view.animation.BounceInterpolator;
22+
import android.view.animation.AccelerateDecelerateInterpolator;
2323
import android.view.animation.LinearInterpolator;
2424

2525
import java.text.SimpleDateFormat;
@@ -466,14 +466,16 @@ public void setSesameValues(int num)
466466
if (num > 550 && num <= 600)
467467
{
468468
sesameLevel = "信用中等";
469+
mTotalAngle = (num - 550) * 120 / 150f + 43;
469470
} else if (num > 600 && num <= 650)
470471
{
471472
sesameLevel = "信用良好";
473+
mTotalAngle = (num - 550) * 120 / 150f + 45;
472474
} else
473475
{
474476
sesameLevel = "信用优秀";
477+
mTotalAngle = (num - 550) * 120 / 150f + 48;
475478
}
476-
mTotalAngle = (num - 550) * 120 / 150f + 45;
477479
evaluationTime = "评估时间:" + getCurrentTime();
478480
} else if (num <= 950)
479481
{
@@ -497,7 +499,7 @@ public void startRotateAnim()
497499
{
498500

499501
ValueAnimator mAngleAnim = ValueAnimator.ofFloat(mCurrentAngle, mTotalAngle);
500-
mAngleAnim.setInterpolator(new BounceInterpolator());
502+
mAngleAnim.setInterpolator(new AccelerateDecelerateInterpolator());
501503
mAngleAnim.setDuration(3000);
502504
mAngleAnim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener()
503505
{

0 commit comments

Comments
 (0)