2013-03-08 53 views
-3

在我的代碼我動態地克里斯特imageview編程如何添加縮放縮小功能在我的代碼?請幫助我,我想創建動物園的功能,所以當用戶點擊圖像放大,當再次點擊去原來的大小,我該怎麼辦?我如何添加縮放功能在我的imageview

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 = 160; 
      int height = 50; 

      LinearLayout.LayoutParams parms = new 
     LinearLayout.LayoutParams(width,height); 
      parms.setMargins(0, 2, 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].g 
    etValue()).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()); 

    } 



    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent 
    imageReturnedIntent) { 
     super.onActivityResult(requestCode, resultCode, imageReturnedIntent); 

      if (imageReturnedIntent.getExtras() != null) 
       { 
        // here is the image from camera 
        yourSelectedImage = (Bitmap) 
    imageReturnedIntent.getExtras().get("data"); 
        ByteArrayOutputStream outStr = new 
    ByteArrayOutputStream();     

    yourSelectedImage.compress(CompressFormat.JPEG, 100, outStr); 
        blob = outStr.toByteArray(); 
        yourSelectedImage = 
    BitmapFactory.decodeByteArray(blob, 0, blob.length); 
        imageView1.setImageBitmap(yourSelectedImage); 
        listByte.add(blob); 

       } 

回答