我尝试在我的小部件中将图像设置为 ImageView,但我得到的是一个空屏幕而不是图片
这是布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/stage"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</RelativeLayout>
这是代码:
public class MyWidget extends AppWidgetProvider {
Bitmap bitmap;
Bitmap bckgrnd;
Bitmap over;
@Override
public void onEnabled(Context context) {
super.onEnabled(context);
RemoteViews widgetView = new RemoteViews(context.getPackageName(),
R.layout.widget);
bckgrnd=BitmapFactory.decodeResource(context.getResources(), R.drawable.backgrnd);
over=BitmapFactory.decodeResource(context.getResources(), R.drawable.human);
bitmap=bckgrnd.copy(Bitmap.Config.ARGB_8888, true);;
Canvas c=new Canvas(bitmap);
c.drawBitmap(over, 50, 50, new Paint());
widgetView.setImageViewBitmap(R.id.stage, bitmap);
Log.d("MyLog", "onEnabled");
}
......
}
所以,我的 LogCat 中有一个“OnEnabled”日志,这意味着这段代码执行得很好,但 ImageView 仍然是空的。如果我在布局 xml 中设置任何图像 - 它会显示该图像,这意味着 xml 设置正确,但代码不会在 ImageView 中更改此图像。
我尝试在 onUpdate() 中执行此操作,但它也不起作用。我该怎么做才能在 ImageView 中更改此图像?