Android custom view implements voting progress bar

This example shares the specific code of Android voting progress bar for your reference. The specific contents are as follows

Effect display

Function attribute introduction

<!-- MatchSupportProgressBar -->
  <declare-styleable name="MatchSupportProgressBar">
  <!-- 进度条圆角角度 -->
  <attr name="progress_radio" format="string"></attr>
  <!-- 进度条左侧Tag文本 -->
  <attr name="progress_tag_text" format="string"></attr>
  <!-- 进度条已填充部分颜色 -->
  <attr name="progress_reach_color" format="color"></attr>
  <!-- 进度条已填充部分高度 -->
  <attr name="progress_reach_height" format="dimension"></attr>
  <!-- 进度条背景颜色 -->
  <attr name="progress_background_color" format="color"></attr>
  <!-- 进度条背景高度 -->
  <attr name="progress_background_height" format="dimension"></attr>
  <!-- 进度条左侧Tag文本颜色 -->
  <attr name="progress_tag_text_color" format="color"></attr>
  <!-- 进度条左侧Tag文本尺寸 -->
  <attr name="progress_tag_text_size" format="dimension"></attr>
  <!-- 进度条右侧百分比文本颜色 -->
  <attr name="progress_percent_text_color" format="color"></attr>
  <!-- 进度条右侧百分比文本尺寸 -->
  <attr name="progress_percent_text_size" format="dimension"></attr>
  <!-- 进度条右侧百分比文本 -->
  <attr name="progress_percent_text" format="string"></attr>
  <!-- 进度条选中的图标与进度条、文字的间距 -->
  <attr name="progress_offsetX" format="dimension"></attr>
  <!-- 进度条右侧文字的水平偏移量 -->
  <attr name="progress_offsetR" format="dimension"></attr>
  <!-- 进度条之间的偏移量 -->
  <attr name="progress_LineSpacing" format="dimension"></attr>
</declare-styleable>

XML usage example

<com.yjyc.supportprogress.view.MatchSupportProgressBar
  android:id="@+id/progressbar_match_support"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:layout_marginTop="10dp"
  android:paddingLeft="3dp"
  android:paddingRight="3dp"
  android:progress="30"
  yjcp:progress_background_color="#333"
  yjcp:progress_background_height="30dp"
  yjcp:progress_offsetR="20dp"
  yjcp:progress_percent_text_color="#345698"
  yjcp:progress_percent_text_size="13sp"
  yjcp:progress_reach_color="#999"
  yjcp:progress_tag_text_color="#ffffff"
  yjcp:progress_tag_text="杰伦;那英;汪峰"
  yjcp:progress_tag_text_size="13sp" />

Java usage example

//进度条的点击事件监听
mspb.setOnRightTextClickListener(new OnRightTextClickListener() {

 @Override
 public void onClick(int position) {
 //position是点击的位置
 }
});

/*
为进度条赋值:
参数1:是我们算好的进度值,一般由服务器返回。(注: yjcp:progress_tag_text="杰伦;那英;汪峰"设置 了几个字符串,getPercentList就要传几个字符串)
参数2:得到一个boolean类型的集合,用于设置进度条√显示的位置
参数3:true表示已投票,false表示未投票
参数4:是否开启动画特效
*/
mspb.setPercentState(getPercentList("10","90","100"),getCheckList(position),true,true);

//重置进度条状态,如果在listview中涉及到复用问题条用它即可。
//参数:true投过票,false未投过
mspb.setState(false);

Source download: Android voting progress bar

The above is the whole content of this article. I hope it will help you in your study, and I hope you will support us a lot.

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>