美文网首页
自定义进度条

自定义进度条

作者: 海在路上 | 来源:发表于2017-11-22 14:51 被阅读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>

  1. 建立一个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>

  1. 建立一个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"/>

  1. 代码
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();
}

方式二:









\

相关文章

网友评论

      本文标题:自定义进度条

      本文链接:https://www.haomeiwen.com/subject/anjnvxtx.html