Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.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/1/visual-studio-2008/2.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在AppWidget上绘制弧_Android_Canvas_Widget_Android Appwidget - Fatal编程技术网

Android在AppWidget上绘制弧

Android在AppWidget上绘制弧,android,canvas,widget,android-appwidget,Android,Canvas,Widget,Android Appwidget,我想制作一个循环进度的小部件,但由于AppWidget的限制,我无法使用普通方法。以下是小部件部分的代码: static void updateAppWidget(Context context, AppWidgetManager appWidgetManager, int appWidgetId) { CharSequence widgetText = "Test Text"; // Construct the

我想制作一个循环进度的小部件,但由于AppWidget的限制,我无法使用普通方法。以下是小部件部分的代码:

    static void updateAppWidget(Context context, AppWidgetManager appWidgetManager,
                            int appWidgetId) {

    CharSequence widgetText = "Test Text";
    // Construct the RemoteViews object
    RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.new_app_widget);
    views.setTextViewText(R.id.appwidget_text, widgetText);


    Paint paint = new Paint();
    paint.setARGB(255, 0, 160, 200);
    paint.setStrokeWidth(30);
    paint.setStyle(Paint.Style.STROKE);

    final RectF oval = new RectF();
    oval.set(0, 0, 50, 50);

    Bitmap bmp = Bitmap.createBitmap(70, 70, Bitmap.Config.ALPHA_8);
    Canvas c = new Canvas(bmp);
    c.drawArc(oval, -90, 270, false, paint);

    views.setImageViewBitmap(R.id.imagewa1, bmp);

    appWidgetManager.updateAppWidget(appWidgetId, views);

    }
我添加了xml格式的图像视图:

    <ImageView android:id="@+id/imagewa1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    />

这就是我努力实现的目标:

这就是我所取得的成就:/

我试着在github和其他论坛上寻找它,但找不到widget的任何东西,因为自定义组件在appwidgets中不起作用

我还想向圆弧添加动画,因此我必须跳过canvas方法


感谢您的任何帮助!谢谢!:)

换言之,您需要准备好复制和粘贴代码。。。。请至少试着理解发生了什么。。。椭圆r是25。。。笔划宽度为30。。。这正是你得到的…@Selvin我不仅仅要求一个现成的源代码,我尝试了,失败了,甚至把代码粘贴在这里。我是android编程新手,这就是为什么理解某些概念对我来说有点棘手的原因。试着改变你提到的半径,仍然无法达到目标。没有必要对它无礼。我们来这里是为了学习,不是为了让彼此失去动力。而arc还这么大?不这是第一步。。。但是你离你想要达到的目标还很远。。。。停止询问,做背景,改变颜色,先画薄椭圆形,然后画强弧线。。。仍然需要绘制文本或将textview放置在imageview上,然后设置文本。。。编程不仅仅是使用库和复制粘贴。。大多数时候你必须思考、阅读、搜索…@Selvin这张图片是我发布问题时的早期截图。我尝试过改变这些值。我从中引用并相应地更改了属性。它在主活动中运行良好,但我无法在小部件中实现相同的行为。我已经尽力了,我已经试了两天了。在这里提问之前,请不要在了解人们的知识水平和他们所做的工作量之前嘲笑他们。