Пользовательский вид, например, блокировка / разблокировка экрана Android

Я хотел бы создать такие эффекты, как блокировка / разблокировка экрана Android. Я также добавил скриншот. В режиме блокировки у нас есть 2 кнопки, но в моем случае у меня есть 3 кнопки, а средняя кнопка должна быть перетаскиваемой.

Введите описание изображения здесь

Введите описание изображения здесь

Среднюю кнопку можно перетащить влево / вправо.

Я знаю, что мне нужно создать собственное представление для этого, но я не знаю, как перетащить кнопку влево / вправо с эффектом nice (анимации), который обычно имеет любой телефон Android.

Мне нужно руководствоваться этим, так что кто-нибудь может предложить мне, как подходить к этому.

В принципе, я хочу переместить / сдвинуть кнопку влево и вправо и на основе того, что хочет предпринять некоторые действия.

Возможно, этот проект может помочь вам GlowPadView . Я использовал его в одном проекте. Надеюсь, это то, что вы ищете.

Я попытался сделать приложение lockscreen самостоятельно, и я почти сделал это, но вот факты, с которыми вам придется столкнуться в конце

  1. Вы не сможете отключить домашнюю кнопку или кнопку меню.
  2. Вам потребуется разрешение пользователя (а не тот, который вы получаете при установке приложения, меню появляется каждый раз, когда вы нажимаете кнопку «домой», если пользователь не решит сделать свой домашний экран вашего приложения по умолчанию, если это произойдет, вы успешно сделали экран блокировки ), Если вы решили сделать приложение для домашнего экрана.
  3. Экран блокировки не очень хорошо сочетается с паролями

Но если это поможет, вот что я сделал:

Вам необходимо создать службу, которая держит чек на экране выключенным и включенным.

Если экран выключен, вы ничего не делаете. Когда экран включен, вы запускаете действие и дождитесь, когда пользователь сделает то, что вы хотите, чтобы пользователь запустил его. И когда он делает это, вы завершаете () активность.

При этом вам необходимо настроить метод, который позволяет прослушивать входящие вызовы, вы можете это сделать, расширив PhoneStateListener и отключив кнопку «Назад».

Удачи, и если вы в состоянии сделать какой-либо дальнейший прогресс, дайте мне знать.