Как «вибрировать / трясти» анимацию диалогового окна в Android? - PullRequest
0 голосов
/ 25 марта 2020

Есть ли способ оживить существующий открытый диалог / диалог оповещения? Я хотел бы имитировать c, как Apple справляется со своим диалогом, так что, когда пользователь вводит недействительные учетные данные, диалоговое окно вибрирует, и его не нужно отклонять и показывать снова.

Самое близкое, что я получил, это анимация поле editText с анимацией тряски находится здесь: Ссылка

 val dialog = Dialog(this)
        dialog.setContentView(R.layout.authentication_dialog)
        val authenticator = dialog.findViewById<Button>(R.id.submit_auth_phone)
        var phoneNumber = dialog.findViewById<EditText>(R.id.auth_phone)
        val alertText = dialog.findViewById<TextView>(R.id.alertText)

        dialog.setCancelable(false)
        dialog.setCanceledOnTouchOutside(false)
        dialog.show()


        authenticator.setOnClickListener {

            AuthAsyncTask(feTable).execute()
            if (phoneNumber.text.toString().length < 8){
                val shake = AnimationUtils.loadAnimation(this, R.anim.shake)

                phoneNumber.startAnimation(shake)
                alertText.visibility = TextView.VISIBLE


            }
}

видео

Как видно из видео, диалог «встряхнуть», когда я нажимаю кнопку, тогда как учебники отовсюду оживляются при открытии или закрытии их диалога

1 Ответ

0 голосов
/ 25 марта 2020

Диалог (requireContext ()). Window.decorView попробуйте анимировать это представление. если даже это не работает, я бы предложил использовать DialogFragment в качестве обходного пути

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