woxingxiao / dashboardview Goto Github PK
View Code? Open in Web Editor NEWAndroid自定义仪表盘View,仿新旧两版芝麻信用分、炫酷汽车速度仪表盘
Android自定义仪表盘View,仿新旧两版芝麻信用分、炫酷汽车速度仪表盘
宽高不可以自定义吗
感谢分享~
现在很多开源的框架和特效都是通过gradle来实现导入的,很方便,这个其实也可以做成那样的
我逻辑是从网络获取数据然后更新芝麻分的逻辑,但是每次获取到数据之前,芝麻分控件已经初始化,这样导致传入的分值每次都是空。
预览图全部挂掉了。。。
如题,设置最小值为-90,最大值为90,表盘显示的刻度分别为-90,36,72,108,144,90
`private String[] getMeasureNumbers() {
String[] strings = new String[mBigSliceCount + 1];
for (int i = 0; i <= mBigSliceCount; i++) {
if (i == 0) {
strings[i] = String.valueOf(mMinValue);
} else if (i == mBigSliceCount) {
strings[i] = String.valueOf(mMaxValue);
} else {
strings[i] = String.valueOf(((mMaxValue - mMinValue) / mBigSliceCount) * i);
}
}
return strings;
}`
这个计算刻度的方法应该修改一下
看了源码,弄不清楚宽高在哪里设置,麻烦作者指点一下
public float[] getCoordinatePoint(int radius, float angle) {
float[] point = new float[2];
double arcAngle = Math.toRadians(angle); //将角度转换为弧度
if (angle < 90) {
point[0] = (float) (mCenterX + Math.cos(arcAngle) * radius);
point[1] = (float) (mCenterY + Math.sin(arcAngle) * radius);
} else if (angle == 90) {
point[0] = mCenterX;
point[1] = mCenterY + radius;
} else if (angle > 90 && angle < 180) {
arcAngle = Math.PI * (180 - angle) / 180.0;
point[0] = (float) (mCenterX - Math.cos(arcAngle) * radius);
point[1] = (float) (mCenterY + Math.sin(arcAngle) * radius);
} else if (angle == 180) {
point[0] = mCenterX - radius;
point[1] = mCenterY;
} else if (angle > 180 && angle < 270) {
arcAngle = Math.PI * (angle - 180) / 180.0;
point[0] = (float) (mCenterX - Math.cos(arcAngle) * radius);
point[1] = (float) (mCenterY - Math.sin(arcAngle) * radius);
} else if (angle == 270) {
point[0] = mCenterX;
point[1] = mCenterY - radius;
} else {
arcAngle = Math.PI * (360 - angle) / 180.0;
point[0] = (float) (mCenterX + Math.cos(arcAngle) * radius);
point[1] = (float) (mCenterY - Math.sin(arcAngle) * radius);
}
return point;
}
我用了你的这个控件,在xml中设置RealTimeValue是可以正常显示的,但是在代码中通过对象调用setRealTimeValue时,指针一直指向0.然后我运行了你的代码,发现同样第四个指向0,前三个通过xml设置的都正常显示,不知道这是什么问题呀。
如按钮onClick监听 或者是网络访问回调都会绘制重复,我是一个新手..也不懂怎么解决,求教。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.