Monday, February 5, 2018

Guide: How to Get iPhone X-Like Gestures on Android, But with More Customization

The iPhone X is a polarizing smartphone, but one thing Apple did right was ditch the physical Home button and replace it with a series of software-based swipe gestures.

While Android has had software navigation for years, most OEMs haven't capitalized on it in the way that Apple has with the iPhone X. If you're like me and own or use an iPhone X, you might be interested in learning how to replicate iOS's gestures, which are a really natural and fluid way to navigate apps on tall, 18:9 displays with small bezels.

If you're lucky enough to have a OnePlus 5T that's enrolled in the Oxygen OS Open Beta program, it's as easy as updating to latest firmware and enabling navigation gestures. For the rest of us, there are a few more steps involved. Here's a guide to setting up iPhone X-like swipe gestures on your Android phone — it's easier than you might think!


There are two simple ways to set up swipe gestures on Android devices. One requires Magisk, and the other requires Substratum, which can be coupled with Andromeda for a root-free approach. (Note that Andromeda is a paid add-on.)

Due to Android's security measures, there are some parts of the operating system that interfere with custom gesture apps. Both the permissions screen in the Settings menu and toast messages, for example, break gesture apps that use Android's "Draw over other applications" permission.

It's helpful to know your way around Android in case custom gestures stop working. You can use the Settings button (the gear icon) in the notification shade to exit a toast, for example, or tap the App Details button in the application settings page to switch to a different app.


Step 1 – Setting up Gesture Controls

It's up to you to decide how you want your swipe gestures to work. A quick Play Store search for "edge gestures" (without quotes) will present you with numerous apps to choose from — some paid, some free, some that render the navbar completely invisible, and some that mimic the iPhone X's swipe gestures down to the pill-shaped handle. Feel free to experiment and figure out what works best for you, and don't worry about the performance impact — I haven't noticed appreciable battery drain since I installed my gesture overlays, and I run two of them at the same time.

Personally, I use a swipe-up gesture to go home, a swipe-left gesture to pull up the multitasking menu, a swipe-right gesture to launch the last-opened application, and a swipe-in gesture to go back.

One thing that should go without saying is that you need to set up the gesture app before hiding the navigation bar. You also need to ensure that you've configured your PC for USB debugging prior to enabling the gestures, or you'll have to go into Android's Accessibility menu and disable your custom gesture app temporarily. Since these applications use the Android Accessibility API's "Draw over other applications", you'll get a persistent notification on Android Oreo that can be removed by tapping it and toggling the app's warning notification.


Step 2 – Removing the Navigation bar

Why not just use Immersive Mode?

Android's Immersive Mode is great, and allows you to easily hide the navigation bar from view. (Here's how to enable system-wide Immersive Mode without root.) But it has its drawbacks.

If you've programmed a swipe-up gesture to take you back to the home screen, every time you swipe up from the bottom of the screen, it'll bring back the navigation bar. Also, the navigation bar will appear whenever an app invokes the keyboard, which can get annoying.

Non-Root (requires the paid Andromeda add-on for Substratum)

If you have an unrooted device that's compatible with Substratum, Andromeda offers a great solution for hiding the navigation bar. (On Samsung devices, you can use the Samsung plugin for Substratum, but be aware that it's only compatible with Nougat-based firmware right now.) Download the Navbar Height Changer v4 application from the XDA forums, enable it through Substratum, and set the navbar height to zero — it's super simple, and trivial to undo if things go wrong.

Root

If your phone is rooted with Magisk, hiding the navbar is even easier. All you need to do is download and install the Hide Navigation Bar Magisk Module through the Magisk Manager. After you reboot your phone, you'll no longer see the navigation bar. Be forewarned, though, that some phones including the Essential PH-1 aren't fully compatible with this method, likely due to modifications in SystemUI. I've personally experienced random SystemUI crashes on my Essential Phone running Oreo beta 2.

No matter which method you use to hide the navigation bar, you're bound to run into quirks and problems, as with any mod. After some time with your new setup, though, you might come to like it better than stock Android — I vastly prefer the extra screen real estate afforded by the removal of the navigation bar.

The mods work best on phones that run close-to-stock versions of Android such as the Google Pixel 2, Essential Phone, and the OnePlus 5T. I also highly recommend having a backup plan in case something goes wrong.

The best part about these mods is that they're highly customizable. On my phone, I use a gesture control app that allows me to slide in from the right side of the screen and move my finger up or down to adjust the media volume. You can also program gestures that open the notification shade, or a favorite application.

Gesture control is a feature that I really hope Google brings to stock Android. A proper built-in solution would fix quirks like incompatibilities with the "Draw over other applications", and save apps the trouble of having to use Android's accessibility API. Either way, it's awesome that third-party solutions let you craft custom gestures that meet your unique needs — or at the very least, bring iPhone X-style gestures to your phone.


Do you like gesture controls? Are you using it on your phone? If you are, comment below with your favorite application and control scheme.



from xda-developers http://ift.tt/2FOcPXE
via IFTTT

No comments:

Post a Comment