# gestures

Published articles for gestures.

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

## More Accessible Graphs with Jetpack Compose Part 4: On-Screen Control Buttons

DevFeed: [More Accessible Graphs with Jetpack Compose Part 4: On-Screen Control Buttons](<https://devfeed.tech/articles/more-accessible-graphs-with-jetpack-compose-part-4-on-screen-control-buttons-38467.md>)

Original publisher: [Read original article](<https://eevis.codes/blog/2023-12-09/more-accessible-graphs-with-jetpack-compose-part-4-on-screen-control-buttons/>)

Author: Eevis Panula

Published: 2025-06-11T04:27:25.251000Z

Content type: tutorial

Language: en

Sources: [Eevis Blog](<https://devfeed.tech/sources/eevis-blog.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Users](<https://devfeed.tech/topics/users.md>), [screen](<https://devfeed.tech/topics/screen.md>)

Tags: [accessible](<https://devfeed.tech/tags/accessible.md>), [component](<https://devfeed.tech/tags/component.md>), [gestures](<https://devfeed.tech/tags/gestures.md>), [graphs](<https://devfeed.tech/tags/graphs.md>), [interaction](<https://devfeed.tech/tags/interaction.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This tutorial is the fourth article in a series about making graphs built with Jetpack Compose more accessible. It explains why continuous pointer gestures and keyboard interaction may not work for all users, then adds visible on-screen buttons for moving forward and backward through the graph.

### Source excerpt

This blog post is the fourth one in my series on more accessible graphs with Jetpack Compose. You can find the previous three from the following links: More Accessible Graphs with Jetpack Compose Part 1: Adding Content Description More Accessible Graphs with Jetpack Compose Part 2: Adding Keyboard Interaction More Accessible Graphs with Jetpack Compose Part 3: Differentiating without Color Continuous (or path-based) pointer input, like drag-gesture, might be problematic for some users. For example, if a user has tremors in their hands, the gesture is not always continuous, and if the app relies on this kind of gesture to work, it may be unusable for these users. Now, if you have followed this blog post series, you might wonder - hey, we added keyboard interaction; isn't that enough? No, it's not - it would require a physical keyboard. Many users don't use a physical keyboard, even if they could benefit from it. So, in this blog post, we'll add on-screen controls to the graph. The best part is that this solution also solves the issues with a switch device I mentioned at the end of the blog post about keyboard interaction! Head to the paragraph about Switch Access for more in-depth explanations. Adding Buttons So, one way to solve this problem with path-based gestures is to add visible buttons as an alternative way of navigating inside the graph. In the case of this graph, we want to add two buttons: One for going forward and another for going backward. This is what the UI will look like once we add the controls: We add a new component, called ControlButtons that wraps these buttons: @Composable fun ControlButtons( highlightedX: Float?, lastIndex: Int, setFocus: (Int) -> Unit ) { ... } It takes three parameters: highlightedX, which is the currently highlighted year on the x-axis, lastIndex, which is the last year's index, and a function called setFocus, which takes in an integer - the index where the focus should go next - and returns Unit. This is what it looks like

## Accessibility insights. How to make the most of Android's accessibility features.

DevFeed: [Accessibility insights. How to make the most of Android's accessibility features.](<https://devfeed.tech/articles/accessibility-insights-how-to-make-the-most-of-android-s-accessibility-features-24749.md>)

Original publisher: [Read original article](<https://medium.com/ymedialabs-innovation/accessibility-insights-how-to-make-the-most-of-androids-accessibility-features-adaab8afe01d?source=rss----8b5620c36355---4>)

Author: Pradeep Kumar HK.

Published: 2022-10-14T15:28:31Z

Content type: tutorial

Language: en

Sources: [ymedialabs-innovation - Medium](<https://devfeed.tech/sources/ymedialabs-innovation-medium.md>)

Topics: [Accessibility](<https://devfeed.tech/topics/accessibility.md>), [Android](<https://devfeed.tech/topics/android.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Usability](<https://devfeed.tech/topics/usability.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [User interface design](<https://devfeed.tech/topics/ui-design.md>)

Tags: [a11y](<https://devfeed.tech/tags/a11y.md>), [accessibility](<https://devfeed.tech/tags/accessibility.md>), [accessibility-testing](<https://devfeed.tech/tags/accessibility-testing.md>), [android](<https://devfeed.tech/tags/android.md>), [everyonematters](<https://devfeed.tech/tags/everyonematters.md>), [gestures](<https://devfeed.tech/tags/gestures.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [testing](<https://devfeed.tech/tags/testing.md>), [usability](<https://devfeed.tech/tags/usability.md>)

### AI overview

This tutorial explains how to improve Android app accessibility for people with visual, hearing, cognitive, motor, and situational disabilities. It introduces tools such as TalkBack, Magnification, and Switch Access, and covers identifying accessibility issues, preventing regressions, using Android attributes, and applying accessible design guidelines.

### Source excerpt

Note : Accessibility (often abbreviated to A11y -- as in, "a", then 11 characters, and then "y") Improving your product's a11y can enhance the usability for all users, including those with low vision, blindness, hearing impairments, cognitive impairments, motor impairments or situational disabilities (such as a broken arm). You may have experienced difficulties using your phone while wearing gloves when it's cold outside. Maybe you've had a hard time distinguishing items on the screen when it's bright outside. Most people will have at least a short term disability at some time that makes it difficult to use their mobile device. This includes someone who was born blind, or lost fine motor skills in an accident. With so much of the population experiencing decreased vision, hearing, mobility, and cognitive function, you should do your best to give everyone the best experience in your apps. In this write up, we are going to discuss ways we can make Android app more accessible, and by the end of this you will know the most basic ways you can improve your app for a11y. You will learn: Available a11y tools people are using. How to discover existing a11y issues, and prevent a11y regression. Android attributes you can use to make your app more accessible. Design guidelines to allow your user to use your app with ease. A11y tools : Assistive technology helps increase, maintain, or improve the functional capabilities of individuals with disabilities, through devices like screen readers, magnification tools, and hearing aids. There are many tools that people use to interact with their Android devices. This includes TalkBack, Magnification, and Switch Access, to name a few. TalkBack allows you to explore the view using gestures, while also audibly describing what's on the screen.Magnification allows you to zoom in on parts of the screen. Both TalkBack and Magnification are helpful for people with limited visibility.People with limited mobility can use Switch Access to allow them

## Swipe to reveal in Jetpack Compose

DevFeed: [Swipe to reveal in Jetpack Compose](<https://devfeed.tech/articles/swipe-to-reveal-in-jetpack-compose-25899.md>)

Original publisher: [Read original article](<https://proandroiddev.com/swipe-to-reveal-in-jetpack-compose-6ffa8928a4c2?source=rss-56174fa84bcc------2>)

Author: Denys Rudenko

Published: 2021-02-19T17:21:58Z

Content type: tutorial

Language: en

Sources: [Stories by Denis Rudenko on Medium](<https://devfeed.tech/sources/stories-by-denis-rudenko-on-medium.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [draggable](<https://devfeed.tech/topics/draggable.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [androiddev](<https://devfeed.tech/tags/androiddev.md>), [compose](<https://devfeed.tech/tags/compose.md>), [compose-animation](<https://devfeed.tech/tags/compose-animation.md>), [draggable](<https://devfeed.tech/tags/draggable.md>), [gestures](<https://devfeed.tech/tags/gestures.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [stateflow](<https://devfeed.tech/tags/stateflow.md>), [swipe-to-reveal](<https://devfeed.tech/tags/swipe-to-reveal.md>), [viewmodel](<https://devfeed.tech/tags/viewmodel.md>)

### AI overview

A tutorial showing how to implement swipe-to-reveal cards in Jetpack Compose by detecting horizontal drag gestures and managing revealed card state with a view model and StateFlow.

### Source excerpt

Swipe to dismiss is really easy to implement in compose, including item removal animation by using a combination of SwipeToDismiss & AnimatedVisibility composables. SwipeToDismiss doesn't allow us to stop the dragging motion midway though, so let's take a look how we can achieve the following by detecting horizontal drag gestures on any composable. https://medium.com/media/1a355b2d3e397414c51442342f16cda5/hrefStep 1: Creating a data source Those who've read expandable lists in jetpack compose can skip this step, since data source is almost the same. First we define our model to hold the card related info: data class CardModel(val id: Int, val title: String) We'll be using AAC viewModel example here, but feel free to use any "controller" abstraction you prefer. https://medium.com/media/28ca457093268969ac4f2e179ee860ef/href This class serves 5 purposes: Holds list of cards using MutableStateFlow in _cards field, and exposes a StateFlow to observers via cards field. Holds list of "revealed" card ids in _revealedCardIdsList, and exposes them to observers via revealedCardIdsList field. Provides list of cards using getFakeData() function. We need a coroutine here, to emit the testList into _cards. Has onItemExpanded() to mark cards as revealed, by adding tapped card id to _revealedCardIdsList, and notify observers about this change by mutating the state of _revealedCardIdsList. Has onItemCollapsed() to remove revealed card id from _revealedCardIdsList, and notify observers about this change by mutating the state of _revealedCardIdsList. Step 2: CardsScreen composablehttps://medium.com/media/4505fde17b0e8f9672f392cb9b3296f3/href We are observing the viewModel.cards containing our list of cards, and viewModel.expandedCardIds with the help of .collectAsStateWithLifecycle(). UI is quite simple here, each list item is represented with a Box that contains our hidden action icons & the draggable card. ActionsRow -- row with 3 icons, exposes callbacks from each icon tap: onDelete,

## 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: 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.

## Building a gesture driven Reddit app

DevFeed: [Building a gesture driven Reddit app](<https://devfeed.tech/articles/building-a-gesture-driven-reddit-app-29019.md>)

Original publisher: [Read original article](<https://saket.me/building-a-gesture-driven-reddit-app/>)

Author: Saket Narayan

Published: 2019-06-16T17:45:13Z

Content type: tutorial

Language: en

Sources: [Saket Narayan](<https://devfeed.tech/sources/saket-narayan.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [Reddit](<https://devfeed.tech/topics/reddit.md>), [recyclerview](<https://devfeed.tech/topics/recyclerview.md>), [Material Design](<https://devfeed.tech/topics/material-design.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [apis](<https://devfeed.tech/tags/apis.md>), [components](<https://devfeed.tech/tags/components.md>), [framework](<https://devfeed.tech/tags/framework.md>), [gestures](<https://devfeed.tech/tags/gestures.md>), [material-design](<https://devfeed.tech/tags/material-design.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [public-speaking](<https://devfeed.tech/tags/public-speaking.md>), [recyclerview](<https://devfeed.tech/tags/recyclerview.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

An exploratory talk about building Dank, an open-source gesture-driven Reddit app for Android. It demonstrates material design, framework APIs, gestures, spans, custom UI components, nested scrolling, collapsible comments, image dismissal, and real-time Markdown editing.

### Source excerpt

An exploratory talk that showcases how Android can deliver a beautiful experience to the user using material design principles and various framework APIs like gestures and spans. This talk walks the user through a collection of concrete examples of custom UI components and their implementations in my gesture driven Reddit app, Dank. Recreating Google Inbox's [...] The post Building a gesture driven Reddit app appeared first on Saket Narayan.

## Introducing InboxRecyclerView, a library for building expandable descendant navigation

DevFeed: [Introducing InboxRecyclerView, a library for building expandable descendant navigation](<https://devfeed.tech/articles/introducing-inboxrecyclerview-a-library-for-building-expandable-descendant-navigation-29031.md>)

Original publisher: [Read original article](<https://saket.me/inboxrecyclerview/>)

Author: Saket Narayan

Published: 2018-09-14T06:19:26Z

Content type: release

Language: en

Sources: [Saket Narayan](<https://devfeed.tech/sources/saket-narayan.md>)

Topics: [Library](<https://devfeed.tech/topics/library.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [Android](<https://devfeed.tech/topics/android.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Material Design](<https://devfeed.tech/topics/material-design.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [animation](<https://devfeed.tech/tags/animation.md>), [building](<https://devfeed.tech/tags/building.md>), [gestures](<https://devfeed.tech/tags/gestures.md>), [library](<https://devfeed.tech/tags/library.md>), [material-design](<https://devfeed.tech/tags/material-design.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [performance](<https://devfeed.tech/tags/performance.md>), [recyclerview](<https://devfeed.tech/tags/recyclerview.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

The article introduces InboxRecyclerView, an Android library for building expandable descendant navigation with a pull-to-dismiss gesture. It describes how the animation recreates Inbox-style list-item expansion and discusses implementation techniques, including clipping view content and using the Transitions API with ChangeBounds.

### Source excerpt

When Google released Inbox for Android some 4 years ago, their UI was rad. I was obsessed with the navigation transition, where emails expanded from their list item when clicked, pushing all other items out of the screen. When pulled downwards, the emails collapsed back to their positions. I wanted to recreate this UI. I [...] The post Introducing InboxRecyclerView, a library for building expandable descendant navigation appeared first on Saket Narayan.

## Designing a flick dismissible image viewer

DevFeed: [Designing a flick dismissible image viewer](<https://devfeed.tech/articles/designing-a-flick-dismissible-image-viewer-29026.md>)

Original publisher: [Read original article](<https://saket.me/flick-dismissible-images/>)

Author: Saket Narayan

Published: 2018-08-15T11:37:46Z

Content type: tutorial

Language: en

Sources: [Saket Narayan](<https://devfeed.tech/sources/saket-narayan.md>)

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

Tags: [android](<https://devfeed.tech/tags/android.md>), [developers](<https://devfeed.tech/tags/developers.md>), [gestures](<https://devfeed.tech/tags/gestures.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [library](<https://devfeed.tech/tags/library.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This article explains the design of Flick, a small library for dismissing images with flick gestures. It describes Android touch-event interception, horizontal and vertical gesture handling, image movement and rotation, and a border-based workaround for jagged edges caused by bitmap filtering.

### Source excerpt

While working on Dank, my primary goal was to ensure that user generated content on Reddit receive as much attention in the app as possible, while letting the UI take a back-seat. As part of this experience, all images and videos in Dank are flick-dismissible so that the user can browse through high quality cat [...] The post Designing a flick dismissible image viewer appeared first on Saket Narayan.

## Dank: A gesture-focused Reddit app for Android

DevFeed: [Dank: A gesture-focused Reddit app for Android](<https://devfeed.tech/articles/this-is-your-next-reddit-app-dank-29022.md>)

Original publisher: [Read original article](<https://saket.me/dank/>)

Author: Saket Narayan

Published: 2018-05-11T20:07:14Z

Content type: release

Language: en

Sources: [Saket Narayan](<https://devfeed.tech/sources/saket-narayan.md>)

Topics: [Reddit](<https://devfeed.tech/topics/reddit.md>), [Android](<https://devfeed.tech/topics/android.md>), [App](<https://devfeed.tech/topics/app.md>), [ui](<https://devfeed.tech/topics/ui.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [app](<https://devfeed.tech/tags/app.md>), [dank](<https://devfeed.tech/tags/dank.md>), [gestures](<https://devfeed.tech/tags/gestures.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [notifications](<https://devfeed.tech/tags/notifications.md>), [reddit](<https://devfeed.tech/tags/reddit.md>)

### AI overview

The article announces Dank, a Reddit app for Android developed over more than a year. It describes a gesture-driven interface focused on user-generated content, with features including swipe actions, inline replies, live Markdown preview, undo and redo, GIF support, and rich media notifications.

### Source excerpt

After spending more than a year, I'm happy to announce that my Reddit app -- Dank is finally ready for the world to see. You're going to love it. It's a fresh experience for Reddit on Android. Scroll to the bottom for the download link. The first thing you're going to notice is that Dank [...] The post This is your next Reddit app -- Dank appeared first on Saket Narayan.

## Using Gestures

DevFeed: [Using Gestures](<https://devfeed.tech/articles/using-gestures-30574.md>)

Original publisher: [Read original article](<https://ryanharter.com/blog/2014/10/using-gestures/>)

Published: 2014-10-08T07:00:00Z

Content type: tutorial

Language: en

Sources: [Blogs on Ryan Harter](<https://devfeed.tech/sources/blogs-on-ryan-harter.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Code](<https://devfeed.tech/topics/code.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [app](<https://devfeed.tech/tags/app.md>), [code](<https://devfeed.tech/tags/code.md>), [gestures](<https://devfeed.tech/tags/gestures.md>)

### AI overview

A tutorial on adding gesture interaction to Android apps with GestureDetector and OnGestureListener classes. It explains how gesture detectors interpret touch events and presents a sample ImageView that supports pinch-to-zoom scaling.

### Source excerpt

Modern Android apps often make use of gesture interaction to provide fluid, natural interaction with the app. There are a few ways to handle these interactions, and in this post I'm going to cover some of the basics for easily adding gesture support to your app. The code for this sample app can be found at Github. The basic building blocks of this simple gesture handling code is the GestureDetector, and the various OnGestureListeners. These classes allow you to easily detect and handle certain gestures, whithout having to worry about tracking touch events and determine the math to decide what type of gesture it is.