Note that there are some explanatory texts on larger screens.

plurals
  1. POHow do I Implement Pinch Zoom in following code in android
    primarykey
    data
    text
    <blockquote> <p><strong>Possible Duplicate:</strong><br> <a href="https://stackoverflow.com/questions/13210443/android-pinch-and-zoom-image-in-activity">Android Pinch and Zoom Image in Activity</a> </p> </blockquote> <p>I have to implement pinch zoom functionality in following android code. If possible please provide code too. please mention that where do i have to implement that particullar code in this file.</p> <pre><code>enter code here public class ImagedisplaytestActivity extends Activity { private ImageView leftArrowImageView; private ImageView rightArrowImageView; private Gallery gallery; public int selectedImagePosition = 0; private GalleryImageAdapter galImageAdapter; private String bitmapImg = ""; Bitmap bitmap = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setupUI(); } private void setupUI() { Intent i = getIntent(); Bundle extras=i.getExtras(); bitmapImg = extras.getString("BitmapImage"); selectedImagePosition = extras.getInt("Pos"); leftArrowImageView = (ImageView) findViewById(R.id.left_arrow_imageview); rightArrowImageView = (ImageView) findViewById(R.id.right_arrow_imageview); gallery = (Gallery) findViewById(R.id.gallery); leftArrowImageView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (selectedImagePosition &gt; 0) { --selectedImagePosition; } gallery.setSelection(selectedImagePosition, false); } }); rightArrowImageView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (selectedImagePosition &lt; DetailView.bitmapURL.size() - 1) { ++selectedImagePosition; } gallery.setSelection(selectedImagePosition, false); } }); gallery.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView&lt;?&gt; parent, View view, int pos, long id) { selectedImagePosition = pos; if (selectedImagePosition &gt; 0 &amp;&amp; selectedImagePosition &lt; DetailView.bitmapURL.size() - 1) { leftArrowImageView.setImageDrawable(getResources().getDrawable(R.drawable.arrow_left_disabled)); rightArrowImageView.setImageDrawable(getResources().getDrawable(R.drawable.arrow_right_disabled)); } else if (selectedImagePosition == 0) { leftArrowImageView.setImageDrawable(getResources().getDrawable(R.drawable.arrow_left_enabled)); } else if (selectedImagePosition == DetailView.bitmapURL.size() - 1) { rightArrowImageView.setImageDrawable(getResources().getDrawable(R.drawable.arrow_right_enabled)); } } @Override public void onNothingSelected(AdapterView&lt;?&gt; arg0) { } }); galImageAdapter = new GalleryImageAdapter(this, DetailView.bitmapURL); gallery.setAdapter(galImageAdapter); if (DetailView.bitmapURL.size() &gt; 0) { gallery.setSelection(selectedImagePosition, false); } if (DetailView.bitmapURL.size() == 1) { rightArrowImageView.setImageDrawable(getResources().getDrawable(R.drawable.arrow_right_disabled)); } } public class GalleryImageAdapter extends BaseAdapter { private Activity context; private ImageView imageView; private List&lt;String&gt; plotsImages; private ViewHolder holder; public GalleryImageAdapter(Activity context, List&lt;String&gt; plotsImages) { this.context = context; this.plotsImages = plotsImages; } @Override public int getCount() { return plotsImages.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { if (convertView == null) { holder = new ViewHolder(); imageView = new ImageView(this.context); imageView.setPadding(3, 3, 3, 3); convertView = imageView; holder.imageView = imageView; convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.imageView.setLayoutParams(new Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); holder.imageView.setScaleType(ImageView.ScaleType.FIT_XY); try { bitmap = DownloadImage(plotsImages.get(position)); holder.imageView.setImageBitmap(bitmap); bitmap = null; } catch (Exception e) { e.printStackTrace(); } return imageView; } private class ViewHolder { ImageView imageView; } private Bitmap DownloadImage(String URL){ Bitmap bitmap = null; try { InputStream in = OpenHttpConnection(URL); bitmap = BitmapFactory.decodeStream(in); in.close(); } catch (IOException e1) { e1.printStackTrace(); } return bitmap; } private InputStream OpenHttpConnection(String urlString) throws IOException{ InputStream in = null; int response = -1; URL url = new URL(urlString); URLConnection conn = url.openConnection(); if (!(conn instanceof HttpURLConnection)) { throw new IOException("Not an HTTP connection"); } try{ HttpURLConnection httpConn = (HttpURLConnection) conn; httpConn.setAllowUserInteraction(false); httpConn.setInstanceFollowRedirects(true); httpConn.setRequestMethod("GET"); httpConn.connect(); response = httpConn.getResponseCode(); if (response == HttpURLConnection.HTTP_OK) { in = httpConn.getInputStream(); } } catch (Exception ex){ throw new IOException("Error connecting"); } return in; } } } </code></pre> <p><strong>any help will be appriciated. Thank you.</strong></p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload