自定义进度条
2017-11-22 本文已影响13人
海在路上
方式一:clip
1.建立一个shape【progress_test1】
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"> // 在这里设置形状
<corners android:radius="100dp"/>
<solid android:color="#9f00"/>
</shape>
- 建立一个clip(drawable文件夹下)【clip_progress】
<clip xmlns:android="http://schemas.android.com/apk/res/android"
android:clipOrientation="horizontal"
android:drawable="@drawable/progress_test1"
android:gravity="left"> // 这里设置左中右下【right/top/bottom/center】
</clip>
- 建立一个xml
<ImageView
android:id="@+id/iv_progress1"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_margin="20dp"
android:src="@drawable/clip_progress"/>
- 代码
public class FragmentTest extend Fragment{
@BindView(R.id.iv_progress1)
ImageView iv_progress1;
Unbinder unbinder;
public static Handler handler = new Handler();
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View contentView = inflater.inflate(R.layout.fragment_progressbar, container, false);
unbinder = ButterKnife.bind(this, contentView);
initView(contentView);
return contentView;
}
private void initView(View contentView) {
iv_progress1.setImageLevel(100000);
//iv_progress1.getDrawable().setLevel(5000);
handler.post(runnable);
}
Runnable runnable = new Runnable() {
int number = 100;
@Override
public void run() {
number += 100;
iv_progress1.getDrawable().setLevel(number);
handler.postDelayed(this,100);
}
};
@Override
public void onDestroyView() {
super.onDestroyView();
unbinder.unbind();
}
方式二:
\