ユーザーがカラーピッカーからウィジェットの背景の色を選択できる構成アクティビティを備えたウィジェットがあります。以下のメソッドを使用して、ImageView を持っていて、ImageView に動的に設定するビットマップを作成しています。
http://konsentia.com/2011/03/dynamically-ching-the-background-color-in-android-widgets/
public static Bitmap getBackground (int bgcolor)
{
try
{
Bitmap.Config config = Bitmap.Config.ARGB_8888; // Bitmap.Config.ARGB_8888 Bitmap.Config.ARGB_4444 to be used as these two config constant supports transparency
Bitmap bitmap = Bitmap.createBitmap(2, 2, config); // Create a Bitmap
Canvas canvas = new Canvas(bitmap); // Load the Bitmap to the Canvas
canvas.drawColor(bgcolor); //Set the color
return bitmap;
}
catch (Exception e)
{
return null;
}
}
それで
remoteViews.setImageViewBitmap(R.id.bgcolor, getBackground(bgcolor));
私がやりたいことは、ユーザーがウィジェットの角を丸くするかどうかも選択できるようにすることです。色とウィジェットの角を丸くするかどうかの両方を動的に変更することは可能ですか? 角を丸くするために私が見た例から、ビットマップを設定する前にエッジを丸めることができるように、ビューの寸法を知る必要があるようです。ウィジェット内からこれが可能だとは思いませんが...何かアイデアはありますか?