3

私はアクティビティでこれを行いましたが、完全に機能します。

ImageView myImage = (ImageView) findViewById(R.id.myImageView);

ShapeDrawable mDrawable;

mDrawable = new ShapeDrawable(new OvalShape());
mDrawable.getPaint().setColor(0xff74AC23);
mDrawable.setBounds(x, y, x + width, y + height);
mDrawable.setIntrinsicWidth(width);
mDrawable.setIntrinsicHeight(height);

myImage.setImageDrawable(mDrawable);

今、私は同じことをウィジェット (内部onUpdate) で行いたいと思っておりRemoteViews、画像にアクセスするために使用する必要があります。

fromsetImageDrawableのを呼び出すにはどうすればよいですか? すべてのリモート ビュー メソッドは、.ImageViewRemoteViewsBitmap

4

3 に答える 3

15

これを行うことで、「RemoteViews」の ImageView 画像の色を変更できます。

remoteviews.setInt(viewid, "setColorFilter", color);
于 2013-03-24T11:59:44.703 に答える
3
after modify drawable :



 Bitmap bitmap = ((BitmapDrawable)d).getBitmap();
 remoteViews.setImageViewBitmap(viewId, bitmap) .
于 2011-11-13T17:15:19.940 に答える
2

RemoteViewsXML リソース記述子から構築されます。コードを使用してそれらを構築することはできません。

次のようなことをする必要があります:

レイアウトを作成します。

<ImageView android:src="@drawable/myshapedrawable">
</ImageView>

次に、という名前の新しいシェイプ ドローアブルmyshapedrawable.xmlを定義します(res/drawables フォルダー内)。

<shape xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="oval">
    <size android:width="200" android:height="100"/>
    <solid android:color="0xff74AC23"/>
</shape>
于 2011-11-13T17:25:23.373 に答える