Пикселизация composable в Compose Multiplatform
Pixelate показывает, как скрывать данные не заменой на плейсхолдер, а тем же интерфейсом с пикселизацией.
Внутри используется
Подход сохраняет размер и позицию элемента в layout, но делает исходный текст нечитаемым. Это удобно для превью платного контента и других случаев, где нужен намёк на данные без их раскрытия.
https://joebirch.co/android/pixelating-composables-in-compose-multiplatform/
Modifier.pixelate() можно повесить на Text или на родительский контейнер, а эффект применится к детям тоже.Внутри используется
drawWithCache: контент сначала рисуется в маленький ImageBitmap, потом увеличивается через FilterQuality.Low и выводится обратно без сглаживания. Размер блока считают от высоты: cell = (srcHeight * blockRatio).coerceIn(4.dp.toPx(), 14.dp.toPx()), чтобы одинаковый шрифт давал одинаковую сетку.Подход сохраняет размер и позицию элемента в layout, но делает исходный текст нечитаемым. Это удобно для превью платного контента и других случаев, где нужен намёк на данные без их раскрытия.
https://joebirch.co/android/pixelating-composables-in-compose-multiplatform/