Why is WebView's LayoutAlgorithm.SINGLE_COLUMN deprecated? - android

I am wondering why LayoutAlgorithm.SINGLE_COLUMN deprecated? It has use cases where NARROW_COLUMNS doesn't do the job:
I have a short HTML snippet that includes an image that is wider than the device screen. NARROW_COLUMNS doesn't resize the image to fit the screen, whereas SINGLE_COLUMN scales it down so the user cannot scroll horizontally (which is what I want).
Any ideas as to why it is deprecated?

Because they changed the Webcore.h class witch LayoutAlgorithm.SINGLE_COLUMN is embed to to.
I sugest you to find html layout solution.

NARROW_COLUMNS is also deprecated now and you have to use TEXT_AUTOSIZING which also doesn't work as expected.
http://developer.android.com/guide/webapps/migrating.html#Columns
Your best option is to find a custom WebView or, if you can, change your HTML.

Related

Android pull image to reveal full size image

I am trying to achieve the following on a relative layout.
It's similar to WhatsApp profile image style and I think Google uses it on the YouTube app too. I've searched around but can't find anything as I don't know what it's called.
Is there a library or possibly anyone who's used/achieved a similar feature?
The purpose is to use minimum height as needed as some images are portrait and can take up full height of screen not allowing user to realise there's more under it.
I'm using a scrollview xml with a relative layout.
What I've tried so far:
Lots of Google searching. No luck as I simply do not know the concept.
I think it's called a Parallax Effect, not really sure, but here are some libraries that do some similar stuff using listviews:
https://github.com/Gnod/ParallaxListView
https://github.com/Frank-Zhu/PullZoomView

Android equivalent to UIImageViews in a UIView in a UIScrollView

I have a nice view in iOS and want to do the same in android, but couldn't find out how.
Basically it's one big background image and several smaller images overlayed and the whole needs to be zoomed at the same time, imagine for example a map with cars on it.
I tried working with a WebView, but couldn't configure it right, so I'm looking for a better solution. And I need the pinch zooming feature, the Webview -/+ was not really helpful.
Working code would be nice too, cause most examples I tried didn't work as expected.
Would be util put you ImageViews in a GridView?
http://developer.android.com/guide/topics/ui/layout/gridview.html
http://developer.android.com/reference/android/widget/ImageView.html

Android WebView scrolling within ScrollView

Very general question: I have multiple widgets in a ScrollView Android app. A standard ScrollView, mobile can show say 720 lines and user can scroll down then back up going thru multiple widgets (text panes, buttons etc). Problem is that I want to add a WebView that will display an HTML table; the height of this HTML table will be variable size.
Is there a way to change the height of the WebView based on the size of the HTML table it should display?
Yes, you can get a reference to the WebView, then set the height of it, with the setHeight attribute.
Maybe you would be better off letting the container take care of that for you, and set the attribute to "wrap_content".
I guess, you need to calc web-view content size (here and here and enter link description here), than set webview size to content fits (maybe here). In that way you should have only scrollview scrolling.
Good luck

<p> style incorrect unless background color applied

I am developing a mobile site, so I'm using CSS to make things as liquid as possible.
I'm having an odd difficulty. Within a div container, I have a <p> that is supposed to fill the width of the div. I've tried width:auto, width:100%...nothing seems to work on Android Browser. Here are examples:
iOS (Correct):
Android (Incorrect; not fully spreading; added more text than iOS version so you can see what I'm talking about):
Both screenshots taken from respective emulators.
Here is the odd thing, though... If I give the class applied to these <p>'s a background color, the Android browser then allows the <p> to fill the full width of its parent div (looks identical to iOS). The really odd part, though, is that if I make the background color transparent (I thought I had it tricked lol), then it goes back to doing as shown in the example.
So, I have a <p> only properly referencing its CSS if it has a background-color applied... am I stupidly overlooking something, or is this some issue with Android Browser? Any ideas how to fix it?
Thanks for your time.
While it may not be the best solution, I finally just made an "invisible" transparent png and set it as the <p>'s background, and that fixed the issue... if you can call it fixing. :) I have to assume it is some kind of error in Android's Browser, as I tried this in every browser, desktop and mobile.
It is the intended behavior of Android phones. It will enhance the readability of copy text, since you are not forced to scroll sideways if you pinch zoom the page.
It can be managed on your own phone maybe in the browser's settings, but that is not the solution you want.
It can be 'fixed' by the workaround of applying a background-image to the element you want.
This can be done with a base64 encoded data url:
background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
In your mobile browser's settings, look for something called "Auto Fit Pages" and disable it. This setting (in Android) is ON by default. Turn it off and your text will flow as it should.
the div or any element above this could be the issue.
if you give fixed width to the p element, does it work well ?

Android - how do I place an image on top of my existing layout through code?

I have a layout in which I am displaying a webview. I want to add images on top of the webview at specific places through code.
Can some one please tell me how to do that?
The translucent background example in API Demos makes the view cover the whole screen. I want to place only a small image and at a specific location (origin not 0,0)
Thanks a lot.
Have you tried putting both the WebView and the ImageView inside an Absolute Layout? This should let you specify the X/Y location of your image and by ordering make it constantly drawn over the webview.
EDIT: check out the Absolute layout:
http://developer.android.com/guide/topics/ui/layout-objects.html#absolutelayout
AbsoluteLayout is deprecated and if that bothers you, you may want to look for alternative.
I have put an example in my blog post here. It might not be exactly what you are after, but should give you an idea:
http://anothermobiledeveloper.blogspot.com/2011/10/using-relativelayout-instead-of.html

Categories

Resources