// 一个好吃的甜甜圈?
一个好吃的甜甜圈?请问客官要啥口味捏-V-
如果您有别的需求,可以提交您的issue哦,当然,也可以直接修改源码-V-
| 描述 | 方法 | 预览 |
|---|---|---|
| 动画生长 | -- | |
| 饼图/甜甜圈转换 | strokeMode(boolean) | |
| 角度间隙 | splitAngle(float) | |
| 绘制文字 | drawText(true) | |
| 点击效果 | canTouch(true) / selectListener() | |
| 焦点甜甜圈效果 (反向) | focusAlphaType( | |
| AnimatedPieViewConfig.FOCUS_WITH_ALPHA_REV,150 | ||
| ) | ||
| 焦点甜甜圈效果 | focusAlphaType( | |
| AnimatedPieViewConfig.FOCUS_WITH_ALPHA,150 | ||
| ) | ||
| 甜甜圈标签 | IPieInfo.PieOption |
添加依赖(请把{latestVersion}替换成上面的jcenter标签所示版本)
dependencies {
implementation 'com.github.razerdp:AnimatedPieView:{latestVersion}'
}step 1:定义任意类实现IPieInfo接口(如果懒,可以使用SimplePieInfo)
public class Test implements IPieInfo {
@Override
public float getValue() {
//这个数值将会决定其所占有的饼图百分比
return 0.5f;
}
@Override
public int getColor() {
//该段甜甜圈的颜色,请返回@colorInt,不要返回@colorRes
return Color.WHITE;
}
@Override
public String getDesc() {
//描述文字,可不返回
return "这是一个测试";
}
@Nullable
@Override
public PieOption getPieOpeion() {
//一些别的设置,比如标签
return mPieOption;
}
}step 2:定义config并配置就可以了
AnimatedPieView mAnimatedPieView = findViewById(R.id.animatedPieView);
AnimatedPieViewConfig config = new AnimatedPieViewConfig();
config.startAngle(-90)// 起始角度偏移
.addData(new SimplePieInfo(30, getColor("FFC5FF8C"), "这是第一段"))//数据(实现IPieInfo接口的bean)
.addData(new SimplePieInfo(18.0f, getColor("FFFFD28C"), "这是第二段"))
...(尽管addData吧)
.duration(2000);// 持续时间
// 以下两句可以直接用 mAnimatedPieView.start(config); 解决,功能一致
mAnimatedPieView.applyConfig(config);
mAnimatedPieView.start();
…在IPieInfo中,你可以配置PieOption以扩展每个甜甜圈的行为
@Nullable
@Override
public PieOption getPieOption() {
return new PieOption()
.setDefaultSelected(true) // 默认选中
.setIconHeight(50) // 图标的高度
.setIconWidth(50) //图标宽度
.setIconScaledHeight(0.5f) // 图标高度缩放
.setIconScaledWidth(0.5f) // 图标宽度缩放
.setLabelIcon(bitmap) // 图标资源
.setLabelPadding(5) // 图标与文字的距离
.setLabelPosition(PieOption.NEAR_PIE); // 图标在甜甜圈内侧
}| 微信 | 支付宝 |
|---|---|
暂无开放 Issues,或尚未同步最近议题。