@@ -618,30 +618,36 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut
618618 val secondaryIcon = key.secondaryIcon
619619
620620 if (secondaryIcon != null ) {
621- val keyIconWidth = (keyIcon.intrinsicWidth * .8 ).toInt()
622- val keyIconHeight = (keyIcon.intrinsicWidth * .8 ).toInt()
623- val secondaryIconWidth = (secondaryIcon.intrinsicWidth * .4 ).toInt()
624- val secondaryIconHeight = (secondaryIcon.intrinsicHeight * .4 ).toInt()
621+ val keyIconWidth = (keyIcon.intrinsicWidth * .8f ).toInt()
622+ val keyIconHeight = (keyIcon.intrinsicHeight * .8f ).toInt()
623+ val secondaryIconWidth = (secondaryIcon.intrinsicWidth * .6f ).toInt()
624+ val secondaryIconHeight = (secondaryIcon.intrinsicHeight * .6f ).toInt()
625625
626- val drawableX = ( key.width - keyIconWidth) / 2
627- val drawableY = ( key.height - keyIconHeight) / 2
626+ val centerX = key.width / 2
627+ val centerY = key.height / 2
628628
629- canvas.translate(drawableX.toFloat(), drawableY.toFloat())
629+ val keyIconLeft = centerX - keyIconWidth / 2
630+ val keyIconTop = centerY - keyIconHeight / 2
630631
631- keyIcon.setBounds(0 , 0 , keyIconWidth, keyIconHeight)
632+ keyIcon.setBounds(keyIconLeft, keyIconTop, keyIconLeft + keyIconWidth, keyIconTop + keyIconHeight)
632633 keyIcon.draw(canvas)
633634
634- val secIconPaddingBottom = 8
635- val secIconPaddingRight = 4
635+ val secondaryIconPaddingRight = 8
636+ val secondaryIconLeft = key.width - secondaryIconPaddingRight - secondaryIconWidth
637+ val secondaryIconRight = secondaryIconLeft + secondaryIconWidth
638+
639+ val secondaryIconTop = 12 // This will act as a topPadding
640+ val secondaryIconBottom = secondaryIconTop + secondaryIconHeight
641+
636642 secondaryIcon.setBounds(
637- keyIconWidth - secIconPaddingRight ,
638- - secIconPaddingBottom ,
639- (keyIconWidth + secondaryIconWidth) - secIconPaddingRight ,
640- secondaryIconHeight - secIconPaddingBottom
643+ secondaryIconLeft ,
644+ secondaryIconTop ,
645+ secondaryIconRight ,
646+ secondaryIconBottom
641647 )
642648 secondaryIcon.draw(canvas)
643649
644- canvas.translate( - drawableX.toFloat(), - drawableY.toFloat() )
650+ secondaryIcon.draw(canvas )
645651 } else {
646652 val drawableX = (key.width - keyIcon.intrinsicWidth) / 2
647653 val drawableY = (key.height - keyIcon.intrinsicHeight) / 2
0 commit comments