"Enhance Your Phonegap Android App with Pinch Zoom Capability

I am currently working on an Android Application with the help of jQuery Mobile and Phonegap. My goal is to implement pinch zoom functionality on the App pages. I have come across several suggestions that involve using the following line, but unfortunately it doesn't seem to work -

<meta id="viewport" name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=yes">

Is there a more effective solution for enabling zooming on App pages either through pinch gestures or by double clicking on the page ? Thank you.

Answer №1

For years, I have been struggling with this issue and I have finally found a solution that works.

You can create multiple versions of an image in different sizes for zooming purposes. Using the show and hide function from Jquery found at W3Schools(ShowHide), you can easily manage displaying one image while hiding the other on tap.

Although it doesn't support pinch gesture zooming, this method is simple and effective for displaying detailed images using phonegap.

Here is how I implemented it using only JavaScript:

Add this script to the header:

<script type="text/javascript">
function enlarge() {
        var elem = document.getElementById("enlargable");
          if(elem.style.display == 'block')
            elem.style.display = 'none';
          else
            elem.style.display = 'block';}
</script>

Call this function on the images in the body:

<small><a href="#" onClick="enlarge();"><img src="001.jpg" width="400" height="250" /></a></small>
<large id="enlargable" ><a href="#" onClick="enlarge();"><img src="001ZOOM.jpg" width="1280" height="800" /></a></large>

The enlarge function targets the Html element in the body with the id enlargable and toggles its display style (show or hide).

This function is triggered when clicking on either of the images. When tapping on small, the smaller image, it displays the large image which overlaps the small one. Tapping again will toggle the display, allowing the user to switch between views.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Aligning the stars with CSS

One of the components I have deals with a star rating system, and I thought it would be cool to use Font Awesome icons for half stars. Everything is working well except for the CSS styling aspect. While I managed to position some of the stars correctly by ...

Express client with React and Webpack now supports Hot Reload feature

I currently have a setup using React, Webpack, and Express. Webpack bundles the React files and saves them in the /dist directory while running in watch mode during development. Any new changes are reflected in the dist directory. The Express server operat ...

Retrieving Content within <b></b> Tags from an RSS Feed XML (with Javascript/React)

After parsing an RSS Feed from Upwork, I have extracted job item data points such as title and link. However, a significant amount of the necessary information about each job (category, skills, etc) is buried within the "content" data item as one large blo ...

Communication between Laravel and controller using AJAX for exchanging information

I have a specific AJAX function being called from a view: function gatherProductData() { var productIds = []; $('#compare-widget tbody tr').each(function(i, ele) { productIds[i] = $(ele).data('product-id'); }); ...

Avoiding the default action and using a false return value do not produce the

Despite trying preventDefault, return false, and stopImmediatePropagation, the page continues to redirect back to the first selection instead of redirecting to the textarea after inputting all required fields and clicking on the button. The issue persists ...

Tips for saving user input from an HTML form into a database using PHP, and then transferring it to a variable in JavaScript

I've been working on a Wordpress project that involves two separate pages. The first page has a form for users to submit their name, which is then stored in a custom table in the database. After submitting the form, the user is redirected to another p ...

Modifying the state when an array within another array changes using react hooks

I am faced with a challenge involving an array of objects nested within arrays of objects. My goal is to update a specific object value in the inner array. For example: const [datas, setDatas] = useState([ { id: 1, name: 'john' ...

Adjust the background hue and opacity when incorporating a "modal div"

Currently, I have a page where a hidden div appears at some point to display a form for inputting data. This could be considered a modal div. My goal is to darken the rest of the page and only allow interaction with this specific div. I want the backgroun ...

The password reset feature using bcrypt is malfunctioning, as headers cannot be modified once they have been sent to the client

After developing a reset password function, the code appears as follows: router.get('/reset/:id',function(req,res,next){ User.findOne({'resetToken': req.params.id.trim()}) .exec(function(error, user){ if (error) ...

Using regular expressions to replace text within brackets that have the same type of bracket in between

I am facing an issue with replacing the given string \section{Welcome to $\mathbb{R}^n$} Some content with <h1>Welcome to $\mathbb{R}^n$</h1> Some content The challenge lies in having opening { and } between the curly brackets ...

Include the HTTP header in a GET request for an HTML hyperlink

Within my HTML code, I am using an <a> tag that will trigger a 302 redirect when clicked. However, I need to incorporate some HTTP headers into this GET request. Is there a way to achieve this without including the headers in the href attribute? Tha ...

Tips on sending a function's return value to an object in Node.js

I'm currently exploring Node.js and working on a REST API for a project. One of the functionalities I am implementing is a post request to store form data in a database. Some values will be retrieved from the form data while others will be generated ...

What is the correct way to transform an Error object to a string in Node.js?

Every time I input a duplicate entry in mysql, this error pops up. { [Error: ER_DUP_ENTRY: Duplicate entry '<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="35465458455950755258545c591b-565a58">[email protected]< ...

Unraveling the Mysteries of Node.js Application Logging

We've been having smooth sailing with our Kube cluster on AWS, but there seems to be a recurring issue with our Node app crashing and generating repetitive logs from our instances... I've scoured the internet for solutions but haven't had m ...

My bootstrap collapse navbar isn't functioning properly. Despite pressing the icon on a smaller screen, the menu fails to open. Can anyone provide a solution to this issue?

The hamburger menu is not working properly. I am facing an issue where the navigation does not appear when I press on the hamburger icon on a small screen. Can someone please guide me on how to resolve this problem? :/ <nav class="navbar bg-d ...

Having trouble loading HTML content from another file

Here is the code snippet in question: <script> var load = function load_home(){ document.getElementById("content").innerHTML='<object type="type/html" data="/linker/templates/button.html" ></object>'; } </script> ...

Locate and substitute `?php` and `?` in a given string

I am facing a challenge with inserting a large string of valid HTML code into the DOM, as the string also includes PHP code. When Chrome renders the code, it automatically comments out the PHP sections. The PHP code is encapsulated in <?php ... ?>, s ...

Issue with Braintree drop-in form: Nonce string generation problem

I've encountered a peculiar issue while trying to utilize the dropin form from Braintree. Successfully integrating the form into a view, here's how it looks: <form id="createTransactionForm" method="post" action="#&qu ...

Assign a value to the <li> element and modify the prop when the user clicks using vue.js

I've been attempting to update props from child to parent using the $event in an @click event. I sent the data and $event from the parent to the child as shown below. in the parent component: <v-filter :sortTypePrice="sortTypePrice" :sort ...

When using Selenium WebDriver, the WebElement .findElement method can sometimes cause errors in JavaScript

Successfully locating the element, I am able to retrieve the text within the container. However, when attempting to fetch the titles of products by iterating through the array of WebElements inside the container, the .findElement() consistently throws an e ...