登录 立即注册
安币:

重庆时时彩倍投技巧|EasySegmentedBarView简单易用的自定义分段控件,方便快速实现...

[复制链接]
来自: zhouy478319399 分类: Android精品源码 上传时间: 2018-7-11 09:10:07
Tag:
立即下载
收藏

项目介绍:

github源码地址:https://github.com/zhou-you/EasySegmentedBarView

EasySegmentedBarView

本文来源:http://www.oneupabq.com/a/www.ylsw.net/

重庆时时彩独胆倍投 www.oneupabq.com,中国青年网特约记者马慧娟摄  中国青年网宁波12月1日电(特约记者马慧娟)12月1日,第三届中国青年志愿服务项目大赛暨2016年志愿服务交流会在宁波举行,期间举行了“青春志愿行共筑中国梦”志愿服务高峰论坛(二)。  本次实践活动将同时在全国各省级单位所属地市县开展(具体实习调研地点和通讯员名单附后),希望各地团组织大力支持该项目的开展,并积极推荐当地最优秀的团干部和团组织典型供全团大力宣传,推动全团基层活力。

本库主要提供一个简单易用的自定义分段控件,方便快速实现分段效果,支持xml配置、代码配置、分段规则按均分/比例分、数字分段、文本分段、渐变分段、bar条样式正常/圆形/三角形,segment文字样式、进度设置、进度指示标记类型设置、分段描述设置、分段间距、其它更多自定义设置等功能。

功能

  • 支持xml配置;

  • 支持通过代码配置;

  • 支持bar条分段规则按均分/比例分;

  • 支持数字分段、文本分段;

  • 支持bar条渐变分段;

  • 支持设置bar条side样式正常/圆形/三角形;

  • 支持segment文字样式;

  • 支持进度设置,unit单位显示,进度为数字或指定文本;

  • 支持进度指示标记类型设置,上部显示/覆盖叠加显示;

  • 支持进度指示三角形是否显示;

  • 支持分段间距设置;

  • 支持其它更多自定义设置、包括颜色、长宽、间距等;

关于我

联系方式

本群旨在为使用我github项目的人提供方便,如果遇到问题欢迎在群里提问。

欢迎加入QQ交流群:581235049

演示(请star支持)


版本说明

Demo下载

用法介绍

build.gradle设置

dependencies {
 compile 'com.zhouyou:segmentedbar:1.0.1'
}

想查看所有版本,请点击下面地址。

在xml布局中

<com.zhouyou.view.segmentedbar.SegmentedBarView
                android:id="@+id/barView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:paddingBottom="5dp"
                android:paddingTop="5dp"
                app:sbv_empty_segment_text="No segments"
                app:sbv_segment_gap_width="5dp"
                app:sbv_segment_rule="average"
                app:sbv_segment_text_size="15sp"
                app:sbv_show_description_text="true"
                app:sbv_side_style="rounded"
                app:sbv_side_text_style="twoSided"
                app:sbv_value_sign_height="30dp"
                app:sbv_value_sign_round="8dp"
                app:sbv_value_sign_width="100dp"
                />

具体属性设置

属性类型默认值说明
sbv_side_styleenumrounded分段条样式normal/rounded/angle,normal:正常样式 rounded:圆角样式 angle:三角样式
sbv_sliderTypeenum进度框支持设置:Sign/Slider Sign:进度框指示,在分段条上部 Slider:滑块指示,覆盖在分段条上
sbv_sliderImgreference没有默认图片设置sbv_sliderType属性为Slider模式时,需要设置图片,例如:app:sbv_sliderImg="@mipmap/slider"
sbv_segment_gap_widthdimension2dp每个分段之间的间隙,如果不需要可以设置0dp
sbv_side_text_styleenumoneSided分段条上文字显示样式oneSided/twoSided oneSided例如:<50 twoSided 例如:40-60
sbv_segment_text_sizedimension14sp分段条上文字颜色
sbv_bar_heightdimension24dp分段条高度
sbv_show_segment_textbooleantrue (显示)是否显示分段条上文字
sbv_show_description_textbooleanfalse(不显示)是否显示分段条底部说明文字
sbv_show_description_top_textbooleanfalse(不显示)是否显示分段条上部说明文字
sbv_segment_bgbooleanfalse(不显示)是否显示分段条背景
sbv_segment_startcolorcolor红色渐变背景的起始颜色(sbv_segment_bg属性为true才起作用 )
sbv_segment_endcolorcolor绿色渐变背景的结束颜色(sbv_segment_bg属性为true才起作用 )
sbv_empty_segment_textstringEmpty空分段展示的提示文字
sbv_empty_segment_backgroundcolor#858585空分段bar条的背景颜色
sbv_value_sign_backgroundcolor#7492E2进度块背景颜色
sbv_value_sign_border_colorcolor#7492E2进度块边框颜色
sbv_value_text_sizedimension14sp进度文字大小
sbv_value_sign_border_sizedimension2dp分段条上部value背景框边框粗细
sbv_value_sign_heightdimension32dp进度块高度
sbv_value_sign_widthdimension72dp进度块宽度
sbv_value_sign_rounddimension4dp进度块圆角大小
sbv_arrow_heightdimension5dp进度块上三角指示高度
sbv_arrow_widthdimension10dp进度块上三角指示宽度
sbv_show_sign_boderbooleanfalse(不显示)是否显示进度块边框
sbv_description_text_colorcolorColor.DKGRAY描述文字字体颜色
sbv_description_text_sizedimension14sp描述文字字体大小
sbv_description_box_heightdimension24dp分段条上部描述文字方块高度
sbv_description_box_top_heightdimension24dp分段条底部描述文字方块高度
sbv_descriptionAlignenumCenter分段条底部描述文字对齐方式支持Center/Both模式,Center:居中显示 ,Both:两端显示
sbv_descriptionTopAlignenumCenter分段条上部部描述文字对齐方式支持Center/Both模式,Center:居中显示 ,Both:两端显示
sbv_segment_ruleenumaverage设置分段规则scale/average模式,scale:按比例分段 average:平均分段

在代码中

方式一

       SegmentedBarView barView = (SegmentedBarView) findViewById(R.id.barView);
        ArrayList<Segment> segments = new ArrayList<>();
        Segment segment = new Segment(0, 4.5f, "Low", Color.parseColor("#EF3D2F"));
        segments.add(segment);
        Segment segment2 = new Segment(4.5f, 9.5f, "Optimal", Color.parseColor("#8CC63E"));
        segments.add(segment2);
        Segment segment3 = new Segment(9.5f, 20f, "High", Color.parseColor("#EF3D2F"));
        segments.add(segment3);
        barView.setValueWithUnit(13.96f, "10<sup>12</sup>/l");
        //barView.setSegmentSideRule(SegmentedBarViewSideRule.average);//通过代码设置规则
        //barView.setValue(13.96f);
        //barView.setValue(13.96f,"Optimal");
        barView.setSegments(segments);

方式二

       SegmentedBarView barView = new SegmentedBarView(this);
        ArrayList<Segment> segments = new ArrayList<>();
        Segment segment = new Segment(0, 4.5f, "Low", Color.parseColor("#EF3D2F"));
        segments.add(segment);
        Segment segment2 = new Segment(4.5f, 6.5f, "Optimal", Color.parseColor("#8CC63E"));
        segments.add(segment2);
        Segment segment3 = new Segment(6.5f, 20f, "High", Color.parseColor("#EF3D2F"));
        segments.add(segment3);
        barView.setValue(4.96f);
        barView.setUnit("m");
        barView.setSideTextStyle(SegmentedBarViewSideTextStyle.TWO_SIDED);
        barView.setSideStyle(SegmentedBarViewSideStyle.ROUNDED);
        barView.setSegments(segments);
        barView.setShowDescriptionText(false);
        barView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
        barView.setPadding(0, getResources().getDimensionPixelSize(R.dimen.vertical_padding), 0, 0);
        sideStyleLayout.addView(barView);

方式三

        ArrayList<Segment> segments = new ArrayList<>();
        Segment segment = new Segment(0, 4.5f, "Low", Color.parseColor("#EF3D2F"));
        segments.add(segment);
        Segment segment2 = new Segment(4.5f, 6.5f, "Optimal", Color.parseColor("#8CC63E"));
        segments.add(segment2);
        Segment segment3 = new Segment(6.5f, 20f, "High", Color.parseColor("#EF3D2F"));
        segments.add(segment3);
        SegmentedBarView barView = SegmentedBarView.builder(this)
                .segments(segments)
                .value(5.25f)
                .unit("ml<sup>2</sup>")
                .showDescriptionText(true)
                .sideStyle(SegmentedBarViewSideStyle.ANGLE)
                .build();
        barView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
        barView.setPadding(0, getResources().getDimensionPixelSize(R.dimen.vertical_padding), 0, 0);
        javaCodeLayout.addView(barView);

具体方法设置

方法说明
setBarHeight(int barHeight)设置分段条高度
setDescriptionBoxHeight(int descriptionBoxHeight)分段条底部部描述文字方块高度
setDescriptionTextColor(int descriptionTextColor)分段条底部描述文字颜色
setDescriptionTextSize(int descriptionTextSize)分段条底部描述文字字体大小
setDrawSegmentBg(boolean drawSegmentBg)设置是否显示分段条背景
setEmptySegmentColor(int emptySegmentColor)设置没有分段时分段条颜色
setGapWidth(int gapWidth)设置分段之间的间距
setGradientBgSegmentColor(int startColor, int endColor)设置分段条背景的渐变色,启始颜色值和结束颜色值
setSegments(List<Segment> segments)设置分段集合
setSegmentSideRule(int sideRule)设置分段规则scale/average模式,scale:按比例分段 average:平均分段
setSegmentTextColor(int segmentTextColor)分段条上文字颜色
setSegmentTextSize(int segmentTextSize)分段条上文字字体大小
setShowDescriptionText(boolean showDescriptionText)是否显示分段条底部的描述文字
setShowSegmentText(boolean showSegmentText)是否显示分段条上的文字
setSideStyle(int sideStyle)分段条样式normal/rounded/angle,normal:正常样式 rounded:圆角样式 angle:三角样式 ,例如:setSideStyle(SegmentedBarViewSideStyle.NORMAL)
setSideTextStyle(int sideTextStyle)分段条上文字显示样式SegmentedBarViewSideTextStyle.TWO_SIDEDSegmentedBarViewSideTextStyle.ONE_SIDED
setUnit(String unit)设置单位 ,例如:"ml<sup>2</sup>"
setValue(Float value)设置当前进度值
setValue(float value, String valueText)设置当前进度值,例如(80,“优秀”),进度框上文字不会显示80,会显示“优秀”,主要用于转换使用
setValueSegment(Integer valueSegment)设置文字分段时,进度位置,例如:分3段,从0开始 ValueSegment=1,表示进度块在第二个位置上展示
setValueSegmentText(String valueSegmentText)设置分段进度块上的文字描述,配合setValueSegment使用,只针对文字分段没有数字进度,具体看Demo4,非数字分段
setValueSignColor(int valueSignColor)进度框背景颜色
setValueSignSize(int width, int height)进度框大小设置
setValueTextColor(int valueTextColor)进度框上文字字体颜色
setValueTextSize(int valueTextSize)进度框上文字字体大小
setValueWithUnit(Float value, String unitHtml)设置有单位的进度

Other

其它更多设置和使用方法,请参考Demo

感谢

该库部分思想借鉴了以下项目:
https://github.com/gspd-mobi/SegmentedBarView-Android
在此特别感谢上述作者,喜欢原作的可以去使用原项目。同时欢迎大家下载体验本项目,如果使用过程中遇到什么问题,欢迎反馈。

支持开源

乐于赞赏,感谢朋友们的支持和鼓励,让我们一起努力做一些好东西!

可以使用「微信」「支付宝」客户端赞赏:

支付

相关源码推荐:

我来说两句
所有评论(10)
suzhouliuyan 2018-7-11 10:39:26
帮帮顶顶!!
回复
打个酱油的 2018-7-11 10:47:29
楼主是好人,回个帖会有安币吗?
回复
android小哥 2018-7-11 10:54:02
楼主威武,以后多发干货,多办活动~!
回复
无限释囚 2018-7-11 11:00:25
不错不错,楼主辛苦了。。。
回复
fancy 2018-7-11 11:00:55
不错不错,楼主辛苦了。。。
回复
Mr_Zhao 2018-7-11 11:11:41
感谢大神~
回复
镜中人_y1M60 2018-7-11 11:41:22
淡定,淡定,淡定……
回复
12下一页
上传代码
查看数:148 收藏数:3 下载数:1 点赞数:0
状态:已购或VIP 售价:15(原价:15)金钱 下载权限:初级码农 
代码贡献英雄榜
用户名 下载数
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,769657487

如何获得代码达人称号

如何成为签约作者

联系我们
关闭
合作电话:
15618560077
Email:
805941275@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

重庆时时彩独胆倍投广告投放| 下载客户端|申请友链|手机版|站点统计|重庆时时彩独胆倍投 ( 粤ICP备15117877号 )

快速回复 返回顶部 返回列表
小说 小说 小说 小说 小说 小说
小说 小说 小说 小说 小说 小说
小说 小说 小说 小说 小说 小说
幸运飞艇免费计划数据 新加坡二分彩官方网站 苹果北京pk10开奖直播 云南快乐十分号码遗漏 白小姐开奖结果
广东快乐10分开奖结果 广东11选5历史数据 pk10开奖记录 华东15选5杀号 南粤风采36选7走势