Я строю макет EPG с нуля, и я хочу рассчитать ширину ячеек для программ на основе их времени выполнения. Я подумал, что лучший способ go - это преобразовать их в пиксели и установить ширину элемента. Но оно очень маленькое (максимум 5 пикселей). Есть ли способ добиться этого? Еще лучше, если я смогу использовать DP вместо PX. Ниже приведена формула, которую я использую для преобразования
fun convertMillisecondsToPx(millis: Float, context: Context): Float =
millis * pxPerMinConstant(context) / TimeUnit.MINUTES.toMillis(1)
с pxPerMinConstant(context)
fun pxPerMinConstant(context: Context): Float =
convertDpToPixel(context.resources.getDimension(R.dimen.epg_width_one_min), context)
и convertDpToPixel
fun convertDpToPixel(dp: Float, context: Context): Float =
applyDimension(COMPLEX_UNIT_DIP, dp, context.resources.displayMetrics)
и dimension_epg_width_one_min = 2dp