Skip to content

Commit 38222ef

Browse files
committed
优化部分机型兼容性问题
1 parent 32e3a4a commit 38222ef

File tree

5 files changed

+33
-13
lines changed

5 files changed

+33
-13
lines changed

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,17 @@ RadarView for Android 是一个雷达扫描动画后,然后展示得分效果
1616
<dependency>
1717
<groupId>com.king.view</groupId>
1818
<artifactId>radarview</artifactId>
19-
<version>1.0.1</version>
19+
<version>1.0.2</version>
2020
<type>pom</type>
2121
</dependency>
2222
```
2323
### Gradle:
2424
```gradle
25-
compile 'com.king.view:radarview:1.0.1'
25+
compile 'com.king.view:radarview:1.0.2'
2626
```
2727
### Lvy:
2828
```lvy
29-
<dependency org='com.king.view' name='radarview' rev='1.0.1'>
29+
<dependency org='com.king.view' name='radarview' rev='1.0.2'>
3030
<artifact name='$AID' ext='pom'></artifact>
3131
</dependency>
3232
```

lib/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ publish {
4141
userOrg = 'jenly'//bintray.com用户名
4242
groupId = 'com.king.view'//jcenter上的路径
4343
artifactId = 'radarview'//项目名称
44-
publishVersion = '1.0.1'//版本号
44+
publishVersion = '1.0.2'//版本号
4545
desc = 'RadarView for Android'//描述
4646
website = 'https://github.com/jenly1314/RadarView'//网站
4747
}

lib/src/main/java/com/king/view/radarview/RadarView.java

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ The MIT License (MIT)
2222
package com.king.view.radarview;
2323

2424
import android.animation.ValueAnimator;
25+
import android.annotation.TargetApi;
2526
import android.content.Context;
2627
import android.content.res.TypedArray;
2728
import android.graphics.Canvas;
@@ -31,6 +32,7 @@ The MIT License (MIT)
3132
import android.graphics.Shader;
3233
import android.graphics.SweepGradient;
3334
import android.graphics.Typeface;
35+
import android.os.Build;
3436
import android.support.annotation.Nullable;
3537
import android.support.annotation.StringRes;
3638
import android.text.TextUtils;
@@ -207,9 +209,17 @@ public RadarView(Context context, @Nullable AttributeSet attrs, int defStyleAttr
207209
init(context,attrs);
208210
}
209211

212+
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
213+
public RadarView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
214+
super(context, attrs, defStyleAttr,defStyleRes);
215+
init(context,attrs);
216+
}
217+
218+
219+
210220
private void init(Context context,AttributeSet attrs) {
211221

212-
mPaint = new Paint();
222+
mPaint =new Paint();
213223
mMatrix = new Matrix();
214224

215225
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.RadarView);
@@ -265,27 +275,31 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
265275
int width = measureHandler(widthMeasureSpec,defaultWidth);
266276
int height = measureHandler(heightMeasureSpec,defaultHeight);
267277

268-
setMeasuredDimension(width,height);
269278
//圆心坐标
270-
mCircleCenterX = (getWidth() + getPaddingLeft() - getPaddingRight())/ 2.0f;
271-
mCircleCenterY = (getHeight() + getPaddingTop() - getPaddingBottom())/ 2.0f;
279+
mCircleCenterX = (width + getPaddingLeft() - getPaddingRight())/ 2.0f;
280+
mCircleCenterY = (height + getPaddingTop() - getPaddingBottom())/ 2.0f;
272281

273282
//外圆半径
274-
mRadius = (getWidth()- getPaddingLeft() - getPaddingRight() - mOutsideStrokeWidth) / 2.0f;
283+
mRadius = (width - getPaddingLeft() - getPaddingRight() - mOutsideStrokeWidth) / 2.0f;
275284
//内院的半径 为外援半径的1/3
276285
mInsideRadius = mRadius / 3;
277286

287+
setMeasuredDimension(width,height);
288+
278289
}
279290

280-
private int measureHandler(int measureSpec,int defaultSize){
291+
292+
private int measureHandler(int measureSpec, int defaultSize){
281293

282294
int result = defaultSize;
283295
int measureMode = MeasureSpec.getMode(measureSpec);
284296
int measureSize = MeasureSpec.getSize(measureSpec);
285-
if(measureMode == MeasureSpec.EXACTLY){
286-
result = measureSize;
297+
if(measureMode == MeasureSpec.UNSPECIFIED){
298+
result = defaultSize;
287299
}else if(measureMode == MeasureSpec.AT_MOST){
288300
result = Math.min(defaultSize,measureSize);
301+
}else{
302+
result = measureSize;
289303
}
290304
return result;
291305
}

0 commit comments

Comments
 (0)