0

설정할 일반적인 변수로 비트 맵이 있지만 앱을 실행할 때 아무 것도 표시되지 않습니다. 여기Android : 카메라 또는 갤러리의 이미지를 다른 조각으로 전달하는 방법?

내 코드 : 당신은 당신이없는 새로운 인플레이터를 사용하여 하나를 비트 맵 를 설정하는보기를 통과해야

public AlertDialog FragmentDialog(){ 
      AlertDialog.Builder builder=new AlertDialog.Builder(getActivity()); 

      LayoutInflater inflater=getActivity().getLayoutInflater(); 
      View view=inflater.inflate(R.layout.imagenfoto,null); 
      dg_image=view.findViewById(R.id.dlg_image); 
      dg_image.setImageBitmap(bitmap); 

      builder.setView(inflater.inflate(R.layout.imagenfoto,null)) 
        .setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
         @Override 
         public void onClick(DialogInterface dialogInterface, int i) { 
          //dg_image.setImageBitmap(bitmap); 
          dialogInterface.cancel(); 
         } 
        }); 
      return builder.create(); 
     } 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 

     if(requestCode== getActivity().RESULT_OK && requestCode==10){ 
      Uri path=data.getData(); 
      foto.setImageURI(path); 
     } 
     */ 

     if(requestCode==CAMARA_REQUEST && resultCode==Activity.RESULT_OK){ 
      Bitmap photo=(Bitmap)data.getExtras().get("data"); 
      bitmap=(Bitmap)data.getExtras().get("data"); 
      foto.setImageBitmap(photo); 
      Log.d("Debug",bitmap.toString()); 
      //comunicador.setFoto(bitmap); 

      /*try { 
       setFoto(photo); 
      }catch (Exception e){ 
       Log.d("setGaleria:",e.getMessage()); 
      }*/ 
      //cd_imagen.setImageBitmap(photo); 
     } 
     //***// 
     Uri selectedImageUri=null; 
     Uri selectedImage; 
     if(requestCode==SELECT_FILE && resultCode==Activity.RESULT_OK){ 
      selectedImage=data.getData(); 
      String selectedPath=selectedImage.getPath(); 
      if(selectedPath != null){ 
       InputStream imageStream=null; 

       try { 
        imageStream=getActivity().getContentResolver().openInputStream(
          selectedImage); 
       }catch (FileNotFoundException e){ 
        e.printStackTrace(); 
       } 

       //Transformamos la URI de la imagen a ImputStream y este a un Bitmap 
       Bitmap bmp=BitmapFactory.decodeStream(imageStream); 
       bitmap=BitmapFactory.decodeStream(imageStream); 
       Log.d("Debug",bitmap.toString()); 
       /*try { 
        setFoto(bmp); 
       }catch (Exception e){ 
        Log.d("setGaleria:",e.getMessage()); 
       }*/ 

       //Ponemos nuestro Bitmap en un ImageView que tengamos en la vista 
       foto.setImageBitmap(bmp); 
       //comunicador.setFoto(bmp); 

       //cd_imagen.setImageBitmap(bmp); 
      } 
     } 
    } 

답변

0

.

기존 뷰를 사용하는 대신이

builder.setView(inflater.inflate(R.layout.imagenfoto,null)) 

을 통과하지

builder.setView(view) 

최종 코드

public AlertDialog FragmentDialog(){ 
     AlertDialog.Builder builder=new AlertDialog.Builder(getActivity()); 

     LayoutInflater inflater=getActivity().getLayoutInflater(); 
     View view=inflater.inflate(R.layout.imagenfoto,null); 
     dg_image=view.findViewById(R.id.dlg_image); 
     dg_image.setImageBitmap(bitmap); 

     builder.setView(view)) 
       .setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialogInterface, int i) { 
         //dg_image.setImageBitmap(bitmap); 
         dialogInterface.cancel(); 
        } 
       }); 
     return builder.create(); 
    } 
0
function(element, percentX, percentY){ 
    var tolerance = 0.01; //needed because the rects returned by getBoundingClientRect provide the position up to 10 decimals 
    if(percentX == null){ 
     percentX = 100; 
    } 
    if(percentY == null){ 
     percentY = 100; 
    } 

    var elementRect = element.getBoundingClientRect(); 
    var parentRects = []; 

    while(element.parentElement != null){ 
     parentRects.push(element.parentElement.getBoundingClientRect()); 
     element = element.parentElement; 
    } 

    var visibleInAllParents = parentRects.every(function(parentRect){ 
     var visiblePixelX = Math.min(elementRect.right, parentRect.right) - Math.max(elementRect.left, parentRect.left); 
     var visiblePixelY = Math.min(elementRect.bottom, parentRect.bottom) - Math.max(elementRect.top, parentRect.top); 
     var visiblePercentageX = visiblePixelX/elementRect.width * 100; 
     var visiblePercentageY = visiblePixelY/elementRect.height * 100; 
     return visiblePercentageX + tolerance > percentX && visiblePercentageY + tolerance > percentY; 
    }); 
    return visibleInAllParents; 
};