如何解决动态地向Android小部件添加视图
| 我正在以编程方式在运行时创建视图,并且希望将此视图在运行时动态添加到我的linearlayout中。这是我得到的代码:public class Widget extends appwidgetprovider {
@Override
public void onUpdate(Context context,AppWidgetManager appWidgetManager,int[] appWidgetIds) {
RemoteViews updateViews = new RemoteViews(context.getPackageName(),R.layout.main);
DemoView dv = new DemoView(context);
// Stuck here...How do I add my new dv View to my android widget
appWidgetManager.updateAppWidget(appWidgetIds,updateViews);
super.onUpdate(context,appWidgetManager,appWidgetIds);
}
private class DemoView extends View {
public DemoView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint LedColor = new Paint();
Paint BlankColor = new Paint();
Path p,p1;
Matrix m = new Matrix();
LedColor.setStyle(Paint.Style.FILL);
LedColor.setColor(0xffffffff);
BlankColor.setStyle(Paint.Style.FILL);
BlankColor.setColor(0xff111111);
DigitPaths dp = new DigitPaths();
p = dp.GetDigitPath(-1);
p1 = dp.GetDigitPath(5);
p.offset(50,50);
p1.offset(50,50);
m.setScale(6.5f,6.5f);
p.transform(m);
p1.transform(m);
canvas.drawPath(p,BlankColor);
canvas.drawPath(p1,LedColor);
}
}
}
任何帮助,将不胜感激!
解决方法
无法将自定义“ 1”添加到应用小部件。有关允许使用哪种“ 1”类型,请参见“ App Widgets开发指南”的“创建App Widget布局”一节。
Android 3.0添加了对某些视图的支持以显示集合。有关详细信息,请参见“将应用程序小部件与集合一起使用”一节。
否则,要在允许
RemoteViews
膨胀并获得对其的引用之后向App Widget动态添加允许的View
,可以对in4ѭ中已有的任何View
对象使用addView(View)
方法或addView(View)
方法。
, 正如布鲁斯正确回答的那样,无法使用自定义视图。由于您的视图似乎不响应输入而只是绘制,因此可以使用ImageView实现相同的功能。只需创建一个位图,使用它创建一个Canvas,然后使用您的onDraw代码在其上进行绘制。然后创建一个ImageView(在小部件中允许),并将其显示的图像设置为Bitmap。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。