2013-03-07 122 views
4

这是我的代码,下面克里特布局编程。点击图像时如何设置放大和缩小程序?我想让我的程序在用户点击图像时全屏放大,再次点击时恢复原始大小,我该怎么做?如何以编程方式添加放大缩小?

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()); 

} 
+0

我希望当我点击我捕捉的放大图片和点击时再次恢复到原来的大小 – 2013-03-07 12:50:29

回答