Имейте метод onclick изменить размер с анимацией - PullRequest
0 голосов
/ 07 сентября 2018

Это, вероятно, будет повторением Я просто не мог найти здесь ничего, что могло бы помочь. Я хочу, чтобы при нажатии на него он не просто привязывался к этому размеру, я хочу, чтобы он медленно превращался в целевой размер. Если это повторить, пожалуйста, дайте мне знать! Если вы можете помочь, пожалуйста, попытайтесь объяснить, как это работает, чтобы я мог учиться быстрее, если это имеет смысл.

  layoutSmallerButton.setOnClickListener{
        val layoutShrink = linearLayout2.layoutParams as RelativeLayout.LayoutParams
        layoutShrink.height = 0
        linearLayout2.layoutParams = layoutShrink

        val buttonSmaller = layoutSmallerButton.layoutParams as LinearLayout.LayoutParams
        buttonSmaller.height = 0
        layoutSmallerButton.layoutParams = buttonSmaller

        val buttonLarger = layoutLargerButton.layoutParams as RelativeLayout.LayoutParams
        buttonLarger.height = 50
        layoutLargerButton.layoutParams = buttonLarger

        val internetViewLarger = internetView.layoutParams as RelativeLayout.LayoutParams
        internetViewLarger.height = 1700
        internetView.layoutParams = internetViewLarger

    }

Спасибо! Добавьте любые комментарии, чтобы улучшить мой код или что-нибудь еще! Спасибо, пожалуйста, не будь грубым!

1 Ответ

0 голосов
/ 07 сентября 2018

Вы должны проверить Свойство анимации из.

Вот что вы можете сделать:

layoutSmallerButton.setOnClickListener{
    animateHeightOfView(layoutShrink, 0)
    animateHeightOfView(buttonSmaller, 0)
    animateHeightOfView(buttonLarger, 50)
    animateHeightOfView(internetViewLarger, 1700)
}

fun animateHeightOfView(view: View, targetHeight: Int, animationDuration: Int = 1000){
    ObjectAnimator.ofInt(view, "height", targetHeight).apply{
        duration = animationDuration
        start()
    }
}

Edit: если вы используете ConstraintLayout (что рекомендуется), вы можете использовать ConstraintSet для анимации. Это довольно легко реализовать, и вы можете просмотреть весь макет (до и после) в файлах XML.

Но для этого требуется Android KitKat или новее.

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