Fix background image horizontal alignment

commit_hash:4bff604a1605e26b1fb9d5b3bae4d88194584c1d
This commit is contained in:
grechka62
2025-04-11 13:07:05 +03:00
parent 9058a300e6
commit 5c30822fec
2 changed files with 9 additions and 3 deletions
@@ -493,11 +493,15 @@ internal fun DivImageScale.toScaleType(): ScalingDrawable.ScaleType {
}
}
internal fun DivAlignmentHorizontal.toHorizontalAlignment(): ScalingDrawable.AlignmentHorizontal {
internal fun DivAlignmentHorizontal.toHorizontalAlignment(isRtl: Boolean): ScalingDrawable.AlignmentHorizontal {
return when(this) {
DivAlignmentHorizontal.LEFT -> ScalingDrawable.AlignmentHorizontal.LEFT
DivAlignmentHorizontal.CENTER -> ScalingDrawable.AlignmentHorizontal.CENTER
DivAlignmentHorizontal.RIGHT -> ScalingDrawable.AlignmentHorizontal.RIGHT
else -> ScalingDrawable.AlignmentHorizontal.LEFT
DivAlignmentHorizontal.START ->
if (isRtl) ScalingDrawable.AlignmentHorizontal.RIGHT else ScalingDrawable.AlignmentHorizontal.LEFT
DivAlignmentHorizontal.END ->
if (isRtl) ScalingDrawable.AlignmentHorizontal.LEFT else ScalingDrawable.AlignmentHorizontal.RIGHT
}
}
@@ -20,6 +20,7 @@ import com.yandex.div.core.images.CachedBitmap
import com.yandex.div.core.images.DivImageLoader
import com.yandex.div.core.util.equalsToConstant
import com.yandex.div.core.util.isConstant
import com.yandex.div.core.util.isLayoutRtl
import com.yandex.div.core.util.observeBackground
import com.yandex.div.core.util.toCachedBitmap
import com.yandex.div.core.util.toColormap
@@ -458,7 +459,8 @@ internal class DivBackgroundBinder @Inject constructor(
val scaleDrawable = ScalingDrawable()
scaleDrawable.alpha = (alpha * 255).toInt()
scaleDrawable.customScaleType = scale.toScaleType()
scaleDrawable.alignmentHorizontal = contentAlignmentHorizontal.toHorizontalAlignment()
scaleDrawable.alignmentHorizontal =
contentAlignmentHorizontal.toHorizontalAlignment(target.isLayoutRtl())
scaleDrawable.alignmentVertical = contentAlignmentVertical.toVerticalAlignment()
val url = imageUrl.toString()