Android在AppWidget上绘制弧
我想制作一个循环进度的小部件,但由于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
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这张图片是我发布问题时的早期截图。我尝试过改变这些值。我从中引用并相应地更改了属性。它在主活动中运行良好,但我无法在小部件中实现相同的行为。我已经尽力了,我已经试了两天了。在这里提问之前,请不要在了解人们的知识水平和他们所做的工作量之前嘲笑他们。