How to add program snapshot with zoom out?

This is my code, below which the crete layout is programmatically. How to adjust the scaling and scaling programmatically when you click on the image? I want my program to react when the user clicks on the image, increases the full screen mode and when it clicks again, return the original size, what should I do?

final DatabaseConnector dbConnector = new DatabaseConnector(this); dbConnector.open(); Cursor cursor = dbConnector.getStageRequirements(Long.valueOf(currentStageID).longValue()); reqdata = new MyData1[cursor.getCount()]; int j = cursor.getCount(); cursor.moveToFirst(); i = 0; while (cursor.isAfterLast() == false) { reqdata[i] = new MyData1(cursor.getString(1), cursor.getString(0)); cursor.moveToNext(); i++; } dbConnector.close(); cursor.close(); ScrollView scroll = new ScrollView(MainActivity1.this); scroll.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); btnLO = new LinearLayout(MainActivity1.this); LinearLayout.LayoutParams paramsLO = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); // button margins paramsLO.setMargins(0, 0, 0, 0); LinearLayout.LayoutParams paramsLO2 = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); // button margins paramsLO2.setMargins(0, 20, 0, 0); // button height/width *pixels* btnLO.setOrientation(LinearLayout.VERTICAL); btnLO.setBackgroundColor(5); // not working correctly //buttons for (i =0;i <reqdata.length;i++) { LinearLayout li=new LinearLayout(this); li.setOrientation(LinearLayout.HORIZONTAL); final Button b1 = new Button(MainActivity1.this); final ImageView imageView = new ImageView(MainActivity1.this); int width = 60; int height = 150; LinearLayout.LayoutParams parms = new LinearLayout.LayoutParams(width,height); parms.setMargins(0, 5, 0, 0); imageView.setLayoutParams(parms); li.addView(b1, paramsLO); li.addView(imageView); btnLO.addView(li); b1.setText(reqdata[i].getSpinnerText()); b1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { imageView1 = imageView; Intent pictureActionIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); pictureActionIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(SDCARD_ROOT_PATH + SAVE_PATH_IN_SDCARD,IMAGE_CAPTURE_NAME))); startActivityForResult(pictureActionIntent,CAMERA_PICTURE); b1.setClickable(false); } }); } final Button b2 = new Button(MainActivity1.this); b2.setText("Submit"); b2.setWidth(150); b2.setHeight(50); b2.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { long visitID = dbConnector.saveVisit(); for (i =0;i <reqdata.length;i++) { dbConnector.saveVisitDetail(listByte.get(i),visitID,Long.valueOf(reqdata[i].getValue()).longValue()); } Toast.makeText(getBaseContext(), "Sucessful",Toast.LENGTH_SHORT).show(); Intent intent = new Intent(MainActivity1.this, Main.class); startActivity(intent); finish(); } }); btnLO.addView(b2, paramsLO2); btnLO.setGravity(Gravity.CENTER| Gravity.CENTER_HORIZONTAL); scroll.addView(btnLO); this.addContentView(scroll, new LayoutParams()); } 
+4
source share
1 answer

As Lalit Poptany said in another answer,

There is a good answer to this question on StackOverflow. Please take a look at this, PinchZoom

0
source

All Articles