Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 自定义进度条(无图像)_Android_Android Custom View - Fatal编程技术网

Android 自定义进度条(无图像)

Android 自定义进度条(无图像),android,android-custom-view,Android,Android Custom View,我想创建一个在图像中指定的进度条。我对如何创建自定义视图知之甚少。我查阅了很多教程,但找不到起点。我没有关于progressbar的图片。我应该画出来。我尝试重写ondraw方法,但无法获得确切的外观 图为: 谢谢你的帮助请试试这个 private void showProgressDialog() { pDlg = new ProgressDialog(activity); pDlg.setMessage(processMessage); pDlg.setMax(1

我想创建一个在图像中指定的进度条。我对如何创建自定义视图知之甚少。我查阅了很多教程,但找不到起点。我没有关于progressbar的图片。我应该画出来。我尝试重写ondraw方法,但无法获得确切的外观

图为:

谢谢你的帮助

请试试这个

private void showProgressDialog() {

    pDlg = new ProgressDialog(activity);
    pDlg.setMessage(processMessage);

    pDlg.setMax(100);
    pDlg.setProgressDrawable(c.getResources().getDrawable(R.drawable.my_progress_bar));
    pDlg.setCancelable(false);
    pDlg.show();

    }

your image=view.getResources().getDrawable(R.drawable.my\u progress\u bar)

如果要创建自己的progressbar,则可以重写任何视图类,重写onDraw方法并编写自己的代码


如果您需要一些示例,那么我将为您提供。

首先,您只需要加载弧的一个图像,因为它们是可复制的

您需要创建自己的方法来接收某种指示加载进度的值,然后相应地重新绘制

例如:

protected void onDraw(Canvas canvas)
{
    // Where loadProgress is an int of some sort.
    for(int i = 0; i < loadProgress; i++)
    {
        canvas.drawBitmap(REFERENCETIBITMAPHERE, REFERENCEBITMAPHERE.getWidth() * i, 0, null);
    }
}
受保护的void onDraw(画布)
{
//其中loadProgress是某种int。
对于(int i=0;i
我希望这能有所帮助

protected void onDraw(Canvas canvas)
{
    // Where loadProgress is an int of some sort.
    for(int i = 0; i < loadProgress; i++)
    {
        canvas.drawBitmap(REFERENCETIBITMAPHERE, REFERENCEBITMAPHERE.getWidth() * i, 0, null);
    }
}