# gesture-navigation

Published articles for gesture-navigation.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Animating your Keyboard

DevFeed: [Animating your Keyboard](<https://devfeed.tech/articles/animating-your-keyboard-24920.md>)

Original publisher: [Read original article](<https://medium.com/androiddevelopers/animating-your-keyboard-fb776a8fb66d?source=rss-9303277cb6db------2>)

Author: Chris Banes

Published: 2020-08-24T16:43:24Z

Content type: article

Language: en

Sources: [Chris Banes on Medium](<https://devfeed.tech/sources/chris-banes-on-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [11weeksofandroid](<https://devfeed.tech/tags/11weeksofandroid.md>), [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [animation](<https://devfeed.tech/tags/animation.md>), [api](<https://devfeed.tech/tags/api.md>), [gesture-navigation](<https://devfeed.tech/tags/gesture-navigation.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This first article in a series explains how Android 11 apps can prepare for animated on-screen keyboard transitions by adopting edge-to-edge layouts and related WindowInsets API changes. It introduces a three-step approach: going edge-to-edge, reacting to inset animations, and optionally driving those animations.

### Source excerpt

Illustration by Kiran PuriAnimating your keyboard (part 1)New WindowInsets APIs for checking the keyboard (IME) visibility and size New in Android 11 is the ability for apps to create seamless transitions between the on screen keyboard being opened and closed, and it's all powered by lots of improvements to the WindowInsets APIs in Android 11. Here you are two examples of it in action on Android 11. It has been integrated into the Google Search app, as well as the Messages app: Two examples of keyboard animations in Android 11: Google Search app (left), Messages (right) So let's take a look at how you can add this sort of experience to your apps. There are three steps: First, we need to go edge-to-edge. The second step is for apps to start reacting to inset animations. And the third step is by apps taking control of and driving inset animations, if it makes sense for your app. Each of these steps follow on from each other, so we'll cover each in separate blog posts. In this first post, we'll cover going edge-to-edge, and the related API changes in Android 11. Going edge-to-edge Last year we introduced the concept of going edge to edge, as a way for apps to make the most of the new gestural navigation in Android 10: Gesture Navigation: Going edge-to-edge (I) As a quick re-cap, going edge to edge results in your app drawing behind the system bars, like you can see on the left. To quote myself from last year: By going edge-to-edge, apps will instead be laid out behind the system bars. This is to allow your app content to shine through to create a more immersive experience for your users.So what has going edge to edge got to do with the keyboard? Well going edge to edge is actually more than just drawing behind the status and navigation bars. It's apps taking responsibility for handling those pieces of system UI which might overlap with the app. The two obvious examples being the status bar and navigation bar, which we mentioned earlier. Then we have the on-screen-keybo

## Gesture Navigation: Handling gesture conflicts (III)

DevFeed: [Gesture Navigation: Handling gesture conflicts (III)](<https://devfeed.tech/articles/gesture-navigation-handling-gesture-conflicts-iii-24923.md>)

Original publisher: [Read original article](<https://medium.com/androiddevelopers/gesture-navigation-handling-gesture-conflicts-8ee9c2665c69?source=rss-9303277cb6db------2>)

Author: Chris Banes

Published: 2019-10-17T00:09:31Z

Content type: tutorial

Language: en

Sources: [Chris Banes on Medium](<https://devfeed.tech/sources/chris-banes-on-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [gesture-navigation](<https://devfeed.tech/tags/gesture-navigation.md>), [gestures](<https://devfeed.tech/tags/gestures.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [music-player](<https://devfeed.tech/tags/music-player.md>), [screen](<https://devfeed.tech/tags/screen.md>), [ux](<https://devfeed.tech/tags/ux.md>)

### AI overview

This third post in a series explains how Android 10 system gestures can conflict with app gestures near screen edges. It uses examples such as music-player SeekBars, navigation drawers, carousels, sliders, and swipe actions, and introduces a flow chart for choosing a solution.

### Source excerpt

Cover image by Virginia PoltrackGesture Navigation: handling gesture conflicts (III) This is the third post in our series on Gesture Navigation. If you want to skip to another post, you can find them listed below: Gesture Navigation: Going edge-to-edge (I) Gesture Navigation: Handling visual overlaps (II) Gesture Navigation: Immersive Modes (IV) The previous post marks the end of us talking about drawing to the edges. In this third post we're going to cover how to handle any gesture conflicts, between your app and the new system gestures in Android 10. What do we mean by gesture conflicts? Let's take a look at an example. Here we have a music player app, which allows the user to scrub through the current song by dragging a SeekBar. Unfortunately, the SeekBar is too close to the home gesture area resulting in the system quick-switch gesture taking over and confusing the user. The same thing can happen on any of the screen edges with gesture areas. There are plenty of common examples which can cause conflicts, such as: Navigation drawers (DrawerLayout), carousels (ViewPager), sliders (SeekBar), swipe actions on lists. Which brings us onto the question of 'how can we fix this?'. To help with this question, we've created a flow chart to help guide to one of the solutions. You can find a printable PDF version of the flow chart here. Hopefully the questions are self-explanatory, but in case you're not sure on any of them, let's explain each of them: 1. App required to hide navigation and status bars? The first question is asking if your app's main use case requires hiding of the navigation and/or status bars. By hiding we mean that they those system bars are not visible at all. It does not mean that you've made your app go edge-to-edge, or similar. Possible reasons for answering yes to this question are: You use the FLAG_FULLSCREEN WindowManager flag. Note, this can also be done via the android:windowFullscreen theme attribute, or extend from one of the Theme.XXX.Fullscre

## Gesture Navigation: Immersive Modes (IV)

DevFeed: [Gesture Navigation: Immersive Modes (IV)](<https://devfeed.tech/articles/gesture-navigation-immersive-modes-iv-24925.md>)

Original publisher: [Read original article](<https://medium.com/androiddevelopers/gesture-navigation-immersive-modes-43f2d37a925d?source=rss-9303277cb6db------2>)

Author: Chris Banes

Published: 2019-10-16T13:01:02Z

Content type: tutorial

Language: en

Sources: [Chris Banes on Medium](<https://devfeed.tech/sources/chris-banes-on-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [android-apps](<https://devfeed.tech/topics/android-apps.md>), [Playback](<https://devfeed.tech/topics/playback.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [apps](<https://devfeed.tech/tags/apps.md>), [gesture-navigation](<https://devfeed.tech/tags/gesture-navigation.md>), [image](<https://devfeed.tech/tags/image.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [playback](<https://devfeed.tech/tags/playback.md>), [ux](<https://devfeed.tech/tags/ux.md>)

### AI overview

This fourth post in a gesture-navigation series explains Android immersive mode for apps that need to draw fullscreen while hiding system bars. It distinguishes non-sticky and sticky immersive modes, describes their system-bar states, and discusses non-sticky mode for fullscreen video playback and photo viewers.

### Source excerpt

Cover image by Virginia PoltrackGesture Navigation: immersive modes (IV) This is the fourth post in our series on Gesture Navigation. If you want to skip to another post, you can find them listed below: Gesture Navigation: Going edge-to-edge (I) Gesture Navigation: Handling visual overlaps (II) Gesture Navigation: Handling gesture conflicts (III) In this fourth post, we're going to cover what you can do if your app needs to draw across the entire screen, with the system bars hidden. Referring back to our flowchart from the previous post, we're going to cover the remaining two solutions on the right hand-side of the chart. You can find a printable PDF version of the complete flow chart here. The solutions here are to use the immersive mode which the Android platform offers apps. But what is immersive mode? What is immersive mode? Immersive mode is a way to render content fullscreen, hiding the system bars so they are not in the way. It additionally provides safety from accidental gestures/presses causing the user to leave the app, particularly useful for games. There are two types of immersive modes: Non-sticky (normal) immersive mode -- A user can exit immersive mode, by swiping in the system bars. Sticky immersive mode -- A user can temporarily exit immersive mode by swiping in the system bars. Immersive mode is automatically re-entered after a short time (few seconds). For both modes, there are two states: System bars hidden -- in this state the home and back gestures are disabled. The user must first swipe from an edge to bring in the system bars. System bars showing -- in this state the home and back gestures work as normal. Now that we've gone over the background on immersive mode, let's take a look at the two different modes in detail. Immersive mode: non-sticky As you might have seen from the flow chart, non-sticky immersive mode is ideal for UIs which need to be fullscreen, but do not require precise swiping gestures near the screen edges. Common examples includ

## Gesture Navigation: Handling visual overlaps (II)

DevFeed: [Gesture Navigation: Handling visual overlaps (II)](<https://devfeed.tech/articles/gesture-navigation-handling-visual-overlaps-ii-24924.md>)

Original publisher: [Read original article](<https://medium.com/androiddevelopers/gesture-navigation-handling-visual-overlaps-4aed565c134c?source=rss-9303277cb6db------2>)

Author: Chris Banes

Published: 2019-08-07T22:58:22Z

Content type: tutorial

Language: en

Sources: [Chris Banes on Medium](<https://devfeed.tech/sources/chris-banes-on-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [ui](<https://devfeed.tech/topics/ui.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [gesture-navigation](<https://devfeed.tech/tags/gesture-navigation.md>), [gestures](<https://devfeed.tech/tags/gestures.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This tutorial explains how Android developers can use insets to prevent app views from being obscured by system UI when using edge-to-edge layouts. It introduces system UI and inset types, including system window insets, and describes how they help resolve visual conflicts with navigation bars, status bars, and the on-screen keyboard.

### Source excerpt

Cover image by Virginia PoltrackGesture Navigation: handling visual overlaps (II) This is the second post in our series on Gesture Navigation. If you want to skip to another post, you can find them listed below: Gesture Navigation: Going edge-to-edge (I) Gesture Navigation: Handling gesture conflicts (III) Gesture Navigation: Immersive Modes (IV) In part 1 of this series, we explored how you can make your app go 'edge-to-edge'. Unfortunately this can result in some of your views being drawn behind the system bars, obscuring them from the user. This post explores how we can inset those views, moving them away from the system bars. For the rest of this post I'll be referring to something called the 'system UI'. This is what we call any of the system provided UI on screen, such as the navigation bar and status bar. It also includes things like the notifications panel. Insets The term insets tends to strike fear into Android developers, usually from their experience trying to draw behind the status bar in the days of Android Lollipop. For example, this very old StackOverflow question on the topic has a lot of views 😲. Insets tell you which parts of the screen intersect with the system UI, like the navigation or status bar. Intersecting could mean simply being displayed above your content, but it can also tell you about system gestures too. We can use the insets to try and remove any conflicts, for example by moving a view in from the edges. On Android, insets are represented by the WindowInsets class, and WindowInsetsCompat in AndroidX. With Android Q, we have 5 types of insets to consider when laying out your app. Which inset type you use depends on the situation you're in, so let's go through each type and look... System window insets Method: getSystemWindowInsets() System window insets are the most common type of insets in use today. They have been around since API 1 in various forms, and are dispatched to the view hierarchy whenever the system UI is displayed above yo

## Supporting Android Q gestural navigation

DevFeed: [Supporting Android Q gestural navigation](<https://devfeed.tech/articles/supporting-android-q-gestural-navigation-28683.md>)

Original publisher: [Read original article](<https://jeroenmols.com/blog/2019/07/17/androidqgestures/>)

Author: info@jeroenmols.com (Jeroen Mols)

Published: 2019-07-17T00:00:00Z

Content type: tutorial

Language: en

Sources: [Jeroen Mols](<https://devfeed.tech/sources/jeroen-mols.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [screen](<https://devfeed.tech/topics/screen.md>), [ui](<https://devfeed.tech/topics/ui.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [androidq](<https://devfeed.tech/tags/androidq.md>), [blogs](<https://devfeed.tech/tags/blogs.md>), [devices](<https://devfeed.tech/tags/devices.md>), [gesture-navigation](<https://devfeed.tech/tags/gesture-navigation.md>), [gestures](<https://devfeed.tech/tags/gestures.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [screen](<https://devfeed.tech/tags/screen.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This tutorial explains how the Philips Hue app was adapted for Android Q's fully gestural system navigation. It focuses on preventing back gestures from interfering with edge-to-edge brightness sliders by excluding selected screen areas from system navigation gestures, and notes relevant layout, inset, and AndroidX requirements.

### Source excerpt

From Android Q onwards devices can now operate in a fully gestural system navigation mode. In that mode, there is no longer an on-screen back button, instead users can swipe from both edges to navigate back.