Конвертировать Dp в Px в Kotlin - этот акт никогда не может быть успешным - PullRequest
0 голосов
/ 28 января 2019

Я столкнулся с проблемой при кодировании в Kotlin.Я скопировал и вставил пример кода Java , который преобразует DP в пиксели, чтобы поместить его в качестве параметра для программной установки заполнения.Я ожидал, что IDE автоматически преобразует все это в Kotlin, однако в процессе это не удалось.

Код в Java выглядит следующим образом:

float scale = getResources().getDisplayMetrics().density;
int dpAsPixels = (int) (sizeInDp*scale + 0.5f);

После перевода на Kotlin :

val scale = resources.displayMetrics.density
val dpAsPixels = (sizeInDp * scale + 0.5f) as Int 

Приведение as Int помечено с ошибкой

"Это приведение никогда не может быть успешным"

Как это можно исправить?

1 Ответ

0 голосов
/ 28 января 2019

Ошибка может быть устранена путем удаления приведения as Int и замены его методом .toInt()

val scale = resources.displayMetrics.density
val dpAsPixels = (16.0f * scale + 0.5f).toInt()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...