fix: Update Java home path in gradle.properties for consistency

This commit is contained in:
k1ngsterr1
2026-01-12 01:44:37 +05:00
parent 1e2f8cfed5
commit a75dfaab98
3 changed files with 168 additions and 157 deletions

View File

@@ -236,11 +236,15 @@ fun AppleEmojiText(
val fontSizeValue = if (fontSize == androidx.compose.ui.unit.TextUnit.Unspecified) 15f
else fontSize.value
// Минимальная высота для корректного отображения emoji
val minHeight = (fontSizeValue * 1.5).toInt()
AndroidView(
factory = { ctx ->
AppleEmojiTextView(ctx).apply {
setTextColor(color.toArgb())
setTextSize(fontSizeValue)
minimumHeight = (minHeight * ctx.resources.displayMetrics.density).toInt()
}
},
update = { view ->
@@ -265,6 +269,11 @@ class AppleEmojiTextView @JvmOverloads constructor(
private val bitmapCache = LruCache<String, Bitmap>(100)
}
init {
// Отключаем лишние отступы шрифта для корректного отображения emoji
includeFontPadding = false
}
fun setTextWithEmojis(text: String) {
val spannable = SpannableStringBuilder(text)
val matcher = EMOJI_PATTERN.matcher(text)
@@ -275,12 +284,13 @@ class AppleEmojiTextView @JvmOverloads constructor(
val bitmap = loadEmojiBitmap(unified)
if (bitmap != null) {
val size = (textSize * 1.2).toInt()
val size = (textSize * 1.3).toInt() // Увеличиваем размер emoji
val scaledBitmap = Bitmap.createScaledBitmap(bitmap, size, size, true)
val drawable = BitmapDrawable(resources, scaledBitmap)
drawable.setBounds(0, 0, size, size)
val span = ImageSpan(drawable, ImageSpan.ALIGN_BASELINE)
// ALIGN_BOTTOM лучше работает с emoji - не обрезает сверху
val span = ImageSpan(drawable, ImageSpan.ALIGN_BOTTOM)
spannable.setSpan(span, matcher.start(), matcher.end(),
android.text.Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
}