⛵ SteadyScreen service for Android and Wear 🏝️
Ever been in a moving vehicle trying to read?
- This is a service that allows compatible Android and Wear apps to easily soften small device movements within their user interface.
- It can improve screen readability and possibly alleviate motion sickness while on the go, e.g. while reading in a moving vehicle or walking.
- The easiest way is to use the SteadyViews library, which contains ready-to-use "Steady…" implementations of most common Android layouts (like e.g. LinearLayout or ConstraintLayout).
- Use the SteadyView library if you have a custom View or ViewGroup that you want to make compatible.
Absolutely nothing. Your Views and ViewGroups continue to function as if the SteadyScreen service never existed. They will never get a callback from the service, so nothing happens.
Call the ISteadyView.setSteadyViewEnabled(final boolean enabled)
method on your ISteadyView to disable or (re)enable the functionality.
Disable:
myView.setSteadyViewEnabled(false);
Enable:
myView.setSteadyViewEnabled(true);
Note, this does not disable/enable the service, it just tells the View to ignore all service inputs.
Call the boolean ISteadyView.isSteadyViewEnabled()
on your ISteadyView to check the enabled state.
(as of 2024-05)
-
Wikipedia (developer build): We compiled this from the original source on 2024-03-22. You are welcome to compile your own APK.
-
Urban Biker: Supports the service on the main and overview screens, and also has its own screen stabilization implementation.
Let us know if you've made an app that should be included in the list!
SteadyScreen service application uses the AccessibilityService API to retrieve interactive windows on the screen, in order to find compatible ones. It then sends multiple "move window" accessibility actions to such windows, as needed, to perform the intended function. The service never collects, stores nor shares any data that can be of personal and confidential nature in any way.
⚡ The service has been crafted very meticulously, in order to minimize resource usage and maximize performance. It uses only the accelerometer sensor to achieve the goal.
https://translate.urban-bike-computer.com/engage/stilly/
To see the app in your native language, and to support the project!
Also, translators are rewarded with free app licenses. Please contact us via email to obtain your license!
https://urban-bike-computer.com/translate/
The technology behind the SteadyScreen first appeared in our Urban Biker app in late 2022. It took us a while to realize it was cool enough to release it as a separate semi-open source project.
- SteadyScreen service app: The engine behind the scenes.
- SteadyViews library: Ready-to-use "Steady…" implementations of most common Android layouts (like e.g. LinearLayout or ConstraintLayout).
- SteadyView library: Core classes and methods. To be used for custom View or ViewGroup implementations.
- SteadyService library: Details of the service implementation.