Skip to main content

Handle Scrollable Views or Controls in another Scrollview in Android

In life of any Android developer, there are times when there is a requirement in the application to use one scrollable control inside another scrollable control. In such cases, the scrolling functionality of one or all scrollable controls gets enabled and the Android application cannot identify that scroll event of which control is to be handled first. Here, UI may get stuck in some scenarios.
The ideal behavior expected is when the user touches the parent scroll view, only the parent view’s scroll event is called and when the user scrolls the child scroll view, the child view’s scroll event is called. In our standard Android application development and implementation process it does not happen when we add scrollable control in another scrollable control.
Below is the solution to handle the scroll event of both the controls without any glitch.
Example
We have a layout that has a ScrollView as parent layout and it contains some TextViews, ImageViews and ListView as child controls.
The id of the parent ScrollView is m_parentScrollView and child ScrollView is m_childScrollView. Now in the onCreate method we have to set Touchlistener event for both the scroll views and use requestDisallowInterceptTouchEvent of the view.
For parent scroll view, below code disables the scrolling event for the child scrollable controls in the m_parentScrollView. So the user can scroll the parent scroll view and see the controls of parent scroll view without UI getting stuck,
For the child scroll view, below code disables the scroll event of parent scroll view if the user touches on child scroll view,

Comments

Popular posts from this blog

Using Edit Text IME Option in Android App

An  Editor Info  is most useful class when you have to deal with any type of user input in your  Android application . For e.g. in login/registration/search operations we can use it for more accurate keyboard input. An editor info class describes several attributes for text editing object that an input method will be directly communicating with edit text contents. Several options which we can use with  EditText IMEOption  are as follows: IME_ACTION_DONE : This action performs a “done” operation for nothing to input and the IME will be closed. IME_ACTION_GO : This action performs a “go” operation to take the user to the target of the text user typed. IME_ACTION_NEXT : This action performs a “next” operation taking the user to next field that will accept text. IME_ACTION_NONE : There is no available action. IME_ACTION_PREVIOUS : This action performs to move to the previous field after “Next” operation is performed. IME_ACTION_SEARCH : This action perfor...

Sharing Simple Data In Android

As a  Android developer , you might want to integrate android apps with each other. Do you know how that functions?  Do you possess knowledge about the way in which they communicate?  If no, then for your reference, Android apps possess the ability to integrate as well as communicate with each other. There are ways in which simple data can be sent and received between applications. This can be done by using  Intent APIs  and the  ActionProvider object . In this article we will cover three ways to share simple data. Sending Simple Data to Other Apps Receiving Simple Data from Other Apps Adding an Easy Share Action 1. Sending Simple Data to Other Apps Sending & receiving data between apps is one of the most common uses of Intent. It allows for easy and quick sharing of information. One thumb rule to remember is that while constructing an Intent, it is imperative that you specify the action you want it to trigger. There are numerous actio...

Sharing Files With Android Apps

There are times when you have to share one or more files with other apps? Let’s take an example. You might have to send images to image editors. On the other hand, you might also Copy & Paste files between external storage? The best way, in this case, is to send the file’s content URI to the receiving app. You can allow the receiving app with temporary access permissions to the file’s content URI. Why is Content URI safe? The reason for this is that the content URI only applies to the app that receives the URI.  Once that has been done, it expires automatically.   There are ways of generating a file’s content URI.  One of them is the  getUriForFile()  method which is offered by Android FileProvider component. In this article, we will talk about ways of securing sharing files between apps by using content URIs and temporary permissions. The content URIs will be generated by using the  Android FileProvider component . 1) Set up file sharing...