Как сделать Drawable объект с моим выбранным цветом в коде - PullRequest
0 голосов
/ 27 января 2012

Я пытаюсь установить значок выбранного цвета на предпочтение:

Preference prf = (Preference) findPreference("SelectColorPref");

prf.setIcon(Drawbale icon);

Для этого мне нужен объект Drawable выбранного цвета.

Можно ли сделать значок Drawable в коде Java? Пожалуйста, ведите меня ..

С уважением,

/////////////////////////////////////////////// ////////////

После следования концепции Алекса Г она решается как:

Preference TextClrPref = (Preference) findPreference("text_color_preference");

Bitmap bm = Bitmap.createBitmap(30, 30, Bitmap.Config.ARGB_8888); 
Canvas cnv = new Canvas(bm); 
int red = 0xffff0000; 
cnv.drawColor(red); 
Drawable drawable = new BitmapDrawable(bm); 

TextClrPref .setIcon(drawable);

Ответы [ 2 ]

2 голосов
/ 27 января 2012

Вы должны иметь возможность создавать однотонный Drawable, используя код, подобный следующему:

Bitmap bm = BitmapFactory.createBitmap(50, 50, Bitmap.Config.ARGB_8888);
Canvas cnv = new Canvas(bm);
int red = 0xff0000;
cnv.drawColor(red);
Drawable drawable = new BitmapDrawable(bm);

Это создаст Drawable, содержащий красный квадрат 50x50 пикселей.

(Обратите вниманиечто я не тестировал этот код, но в своем коде я использую что-то похожее.)

0 голосов
/ 15 сентября 2017

самый простой способ, используя ShapeDrawable

 ShapeDrawable sdrawable = new ShapeDrawable(new RectShape());
 sdrawable.paint.Color = color.RED;
 sdrawable.setIntrinsicWidth(10);
 sdrawable.setIntrinsicHeight(40);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...