2016-07-12 2 views
0

Просто быстрый вопрос. В android код для рисования круга с использованием Canvas приведен ниже.Является ли «canvas.drawCircle» радиусом metho в единицах dp?

canvas.drawCircle (float cx, float cy, float radius, Paint paint) 

Я прочитал documentation, чтобы выяснить, является ли это float radius является дп единицы или любой другой блок. Такого упоминания нет.

Итак, что это за единица float radius? Является ли это единицами dp?

+0

его уверен пиксель http://stackoverflow.com/questions/2406449/does-setwidthint-pixels-use-dip-or-px –

+0

@MaheshwarLigade: Спасибо. Пожалуйста, предоставьте комментарий как ответ –

+0

рад помочь вам. Пожалуйста, загляните в ан. –

ответ

2

В Android код для рисования круга, используя Canvasfloat аргумент в pixels.

Вы говорите, что float, является float пиксельным представлением.

Ниже приведен пример кода для преобразования dp в px и px в dp.

Для преобразования dp в пиксель.

public static int dp2px(Resources resource, int dp) { 
    return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp,resource.getDisplayMetrics()); 
} 

Для преобразования пикселя дп.

public static float px2dp(Resources resource, float px) { 
    return (float) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_PX, px,resource.getDisplayMetrics()); 
} 

Conversion Code is from here.

0

Нет. Значения Float будут в пикселях. Если вы хотите (рекомендуется), можно указать дп единиц в папке/Рез с помощью атрибута DIMEN

<dimen name="radius">12dp</dimen> 
Смежные вопросы