开发者社区> 问答> 正文

Widget使用SurfaceView? 400 报错

Widget使用SurfaceView? 400 报错 想要在widget上作出一个时钟的效果,就想用SurfaceView来画。但是Widget不支持SurfaceView,我就想用getDrawingCache来获取到它的bitmap,然后设置到widget上的ImageView上,但是SurfaceView没有在界面上画出来,返回值一直未Null啊,不知道大家有没有好的办法解决!!!下面是代码:

public class ClockWidgetProvider extends AppWidgetProvider {

private ClockSurfaceView clock;

@Override
public void onDeleted(Context context, int[] appWidgetIds) {
	// TODO Auto-generated method stub
	super.onDeleted(context, appWidgetIds);
}

@Override
public void onEnabled(Context context) {
	super.onEnabled(context);
	Log.i("kevin.liu", "onEnabled");
	
}

@Override
public void onDisabled(Context context) {
	super.onDisabled(context);
	Log.i("kevin.liu", "onDisabled");
}

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
	Log.i("kevin.liu", "onUPdate");
	Log.i("kevin.liu", "Now: " + System.currentTimeMillis());
	if(clock == null) {
		clock = new ClockSurfaceView(context);

// WindowManager mgr = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); // mgr.addView(clock, new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT)); // clock.setVisibility(View.INVISIBLE); } // clock.invalidate(); clock.setDrawingCacheEnabled(true); clock.buildDrawingCache(true); if(clock.isDrawingCacheEnabled()) { Log.i("kevin.liu", "enable"); } Bitmap bitmap = clock.getDrawingCache(); Log.i("kevin.liu", "Bitmap: " + bitmap); // Bitmap bm = ((BitmapDrawable)context.getResources().getDrawable(R.drawable.ic_launcher)).getBitmap(); for(int appWidgetId : appWidgetIds) { RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.clock_widget); views.setImageViewBitmap(R.id.clock_widget_view, bitmap); appWidgetManager.updateAppWidget(appWidgetId, views); } clock.setDrawingCacheEnabled(false); }

}

展开
收起
爱吃鱼的程序员 2020-06-01 14:45:39 548 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    没人自己顶

    2020-06-01 14:45:50
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载