其中需要注意的是,这里小方块的颜色值我是根据BMI值大小,算出RGB三原色的渐变值,没有找到系统自带渲染渐变条的方法中,提供的颜色值,所以就用这种方法计算出来,会有一定得误差。
然后就是关于Textview,因为自带宽高,所以在绘制Textview的时候,需要考虑宽高再绘制。
通过set方法传递参数
public void setBmi(double bmi) {
this.value = bmi;
// 设置颜色
if (value < 18) {
this.value = 18;
} else if (value > 35) {
this.value = 35;
}
invalidate();
}
public void setBmiText(String bmiText) {
this.bmiText = bmiText;
}
最后就是在activity中应用了:
bmiview= (NewBmiView) getView().findViewById(R.id.bmiview);
//将BMI指数传递过去
bmiview.setBmi(35);
bmiview.setBmiText("35.0");
然后就达到了预期的效果,代码有点乱~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持ASPKU。
注:相关教程知识阅读请移步到Android开发频道。










