Android значок навигации не выровнен по вертикали при использовании пользовательской панели инструментов - PullRequest
0 голосов
/ 02 марта 2020

Я использовал пользовательский класс панели инструментов, чтобы я мог выровнять заголовок вправо, и все работает нормально, за исключением того, что значок навигации назад не выровнен по вертикали

enter image description here

и это пользовательский класс панели инструментов

class RTLToolbar @JvmOverloads constructor(
    context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : Toolbar(context, attrs, defStyleAttr) {


    override fun onLayout(changed: Boolean, l: Int, t: Int, r: Int, b: Int) {
        super.onLayout(changed, l, t, r, b)
        val childCount = childCount
        for (i in 0 until childCount) {
            val view = this.getChildAt(i)
            if (view is TextView) {
                forceTitleCenter(view,l, r)
                break
            }
        }
    }
    private fun forceTitleCenter(view: TextView, l: Int,  r: Int) {
        val top = view.top
        val bottom = view.bottom
        view.layout(l, top, r, bottom)
        navigationIcon?.let{ view.setPadding(it.intrinsicWidth,0,0,0) }
        view.gravity = Gravity.RIGHT
    }
}

1 Ответ

1 голос
/ 03 марта 2020

я нашел этот xml атрибут app:buttonGravity="center_vertical", и он сделал свою работу, теперь значок спины выровнен с заголовком

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...