Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6866615
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T03:12:26+00:00 2026-05-27T03:12:26+00:00

Using hierarchyviewer on the Gmail conversation view shows an interesting and unusual layout hierarchy:

  • 0

Using hierarchyviewer on the Gmail conversation view shows an interesting and unusual layout hierarchy:

  • All messages in a single conversation are rendered in a single WebView (specifically a com.google.android.gm.CustomWebView, seen on the left). Only the body of the messages is rendered – the spaces where the headers would go are left blank.
  • On top of the WebView is overlaid a com.google.android.gm.MessageHeaderScrollView (seen on the right) which uses a HybridConversationScrollContainer to position a MessageHeaderView in the correct position for each message in the conversation view.

CustomWebView <-> MessageHeaderScrollView

So, how (and why) is this achieved? Is it something that an Android developer could & should aspire to re-create in their own apps?

Obviously the probable why is performance – WebView uses the fast native WebKit rendering of the message text, and a single WebView is probably more efficient than a separate WebView for each message. If anyone has seen any good blogposts on the performance benefits of this I’d be interested.

Yet there’s an obvious complexity cost to this approach (against naively using an ExpandableListView with some TextViews inside it or whatever) – the HybridConversationScrollContainer has to somehow work out where the message headers should go over the web-rendering, in order to position it’s MessageHeaderViews correctly. What I’d like to know is: How does it work out those offsets?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T03:12:27+00:00Added an answer on May 27, 2026 at 3:12 am

    Incidentally, the only approach I can think of is javascript-based – use javascript in the WebView to gather the header coordinates, and then use WebView.addJavascriptInterface() to pass those coordinates on to Java and the HybridConversationScrollContainer. I haven’t tried doing this myself though so I’m not sure if it could actually work.

    There is a short post on the android Developer blog talking about the addJavascriptInterface() method:

    http://android-developers.blogspot.com/2008/09/using-webviews.html

    It would be wonderful if MessageHeaderScrollView could be released as an open-source library – I’d use it! – but seeing as the Gmail app is closed, it doesn’t seem immediately likely.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Using WPF/PRISM I want to log my messages through ILoggerFacade to my GUI (A
using a binary search tree I need to add to a vector all int
I have read this blog entry about using relative layout to optimize layout in
Using jquery, How would I wrap a div class around the text inside all
Using the privatemessage module, users can send messages to each other as in facebook.
Using online interfaces to a version control system is a nice way to have
Using PyObjC , you can use Python to write Cocoa applications for OS X.
Using ASP.NET MVC there are situations (such as form submission) that may require a
Using C# .NET 3.5 and WCF, I'm trying to write out some of the
Using TortoiseSVN against VisualSVN I delete a source file that I should not have

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.