Android 单击ImageView时,图像不会全屏显示

Android 单击ImageView时,图像不会全屏显示,android,image,gallery,fullscreen,image-gallery,Android,Image,Gallery,Fullscreen,Image Gallery,单击imageView时,我想显示我的位图图像的全屏(从gallery或captured image中选择) imageView .setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if(zoomOut) { Toast.makeText(getApplicationContext(), "N

单击
imageView
时,我想显示我的
位图
图像的全屏(从gallery或captured image中选择)

 imageView .setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
              if(zoomOut) {
              Toast.makeText(getApplicationContext(), "NORMAL SIZE!", Toast.LENGTH_LONG).show();
                    imageView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
                    imageView.setAdjustViewBounds(true);
                    zoomOut =false;
                }else{
              Toast.makeText(getApplicationContext(), "FULLSCREEN!", Toast.LENGTH_LONG).show();
                    imageView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
                    imageView.setScaleType(ImageView.ScaleType.FIT_XY);
                    zoomOut = true;
                }
            }                   
    });
这是我的xml(活动B)


活动B

点击前

点击后

再次单击以缩小


使用以下命令编辑代码

TextView mTextViewClaims = (TextView) findViewById(R.id.textViewClaims);
TextView mTextViewClaimsType = (TextView) findViewById(R.id.textViewClaimsType);
TextView mTextViewAmount = (TextView) findViewById(R.id.textViewAmount);
TextView mTextView12 = (TextView) findViewById(R.id.textView12);

EditText mEditTextAmount = (EditText) findViewById(R.id.editTextAmount);
EditText mTextDescription = (EditText) findViewById(R.id.textDescription);

Button mButtonAdd = (Button) findViewById(R.id.buttonAdd);
Button mButtonSave = (Button) findViewById(R.id.buttonSave);

imageView .setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
          if(zoomOut) {
          Toast.makeText(getApplicationContext(), "NORMAL SIZE!", Toast.LENGTH_LONG).show();

                float scale = getContext().getResources().getDisplayMetrics().density;
                imageView.setLayoutParams(new LinearLayout.LayoutParams((int)(350 * scale + 0.5f) , (int)(300 * scale + 0.5f)));
                imageView.setAdjustViewBounds(true);

                mTextViewClaims.setVisibility(View.VISIBLE);
                mTextViewClaimsType.setVisibility(View.VISIBLE);
                mTextViewAmount.setVisibility(View.VISIBLE);
                mTextView12.setVisibility(View.VISIBLE);
                mEditTextAmount.setVisibility(View.VISIBLE);
                mTextDescription.setVisibility(View.VISIBLE);
                mButtonAdd.setVisibility(View.VISIBLE);
                mButtonSave.setVisibility(View.VISIBLE);                

                zoomOut =false;
            }else{
          Toast.makeText(getApplicationContext(), "FULLSCREEN!", Toast.LENGTH_LONG).show();
                float scaleHeigth = getApplicationContext().getResources().getDisplayMetrics().heightPixels;
                float scaleWidth = getApplicationContext().getResources().getDisplayMetrics().widthPixels;         
                imageView.setLayoutParams(new LinearLayout.LayoutParams((int)scaleWidth , (int)scaleHeigth));
                imageView.setScaleType(ImageView.ScaleType.FIT_XY);                 

                mTextViewClaims.setVisibility(View.GONE); 
                mTextViewClaimsType.setVisibility(View.GONE); 
                mTextViewAmount.setVisibility(View.GONE); 
                mTextView12.setVisibility(View.GONE); 
                mEditTextAmount.setVisibility(View.GONE); 
                mTextDescription.setVisibility(View.GONE); 
                mButtonAdd.setVisibility(View.GONE); 
                mButtonSave.setVisibility(View.GONE); 

                zoomOut = true;
            }
        }                   
});

好的,我明白了,首先你必须使用相对论!,让我举个例子(现在尝试相对布局)。@Elenasys谢谢。我希望它只在放大时显示图像。@Elenasys我必须更改布局中的所有内容?有人有解决方案吗?@Tony是的,我用解决方案更新了我的答案谢谢你的回答:)图像现在变大了,但仍然不能全屏显示。我仍然可以看到活动B中的文本。这意味着您只想显示图像,而不想显示其他内容。对吗?没错。当它再次点击时,它将缩小(与活动B完全相同)Tony,如果你使元素不可见会怎么样?@Tony answer用代码更新,让我知道它是否有效。。!!
TextView mTextViewClaims = (TextView) findViewById(R.id.textViewClaims);
TextView mTextViewClaimsType = (TextView) findViewById(R.id.textViewClaimsType);
TextView mTextViewAmount = (TextView) findViewById(R.id.textViewAmount);
TextView mTextView12 = (TextView) findViewById(R.id.textView12);

EditText mEditTextAmount = (EditText) findViewById(R.id.editTextAmount);
EditText mTextDescription = (EditText) findViewById(R.id.textDescription);

Button mButtonAdd = (Button) findViewById(R.id.buttonAdd);
Button mButtonSave = (Button) findViewById(R.id.buttonSave);

imageView .setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
          if(zoomOut) {
          Toast.makeText(getApplicationContext(), "NORMAL SIZE!", Toast.LENGTH_LONG).show();

                float scale = getContext().getResources().getDisplayMetrics().density;
                imageView.setLayoutParams(new LinearLayout.LayoutParams((int)(350 * scale + 0.5f) , (int)(300 * scale + 0.5f)));
                imageView.setAdjustViewBounds(true);

                mTextViewClaims.setVisibility(View.VISIBLE);
                mTextViewClaimsType.setVisibility(View.VISIBLE);
                mTextViewAmount.setVisibility(View.VISIBLE);
                mTextView12.setVisibility(View.VISIBLE);
                mEditTextAmount.setVisibility(View.VISIBLE);
                mTextDescription.setVisibility(View.VISIBLE);
                mButtonAdd.setVisibility(View.VISIBLE);
                mButtonSave.setVisibility(View.VISIBLE);                

                zoomOut =false;
            }else{
          Toast.makeText(getApplicationContext(), "FULLSCREEN!", Toast.LENGTH_LONG).show();
                float scaleHeigth = getApplicationContext().getResources().getDisplayMetrics().heightPixels;
                float scaleWidth = getApplicationContext().getResources().getDisplayMetrics().widthPixels;         
                imageView.setLayoutParams(new LinearLayout.LayoutParams((int)scaleWidth , (int)scaleHeigth));
                imageView.setScaleType(ImageView.ScaleType.FIT_XY);                 

                mTextViewClaims.setVisibility(View.GONE); 
                mTextViewClaimsType.setVisibility(View.GONE); 
                mTextViewAmount.setVisibility(View.GONE); 
                mTextView12.setVisibility(View.GONE); 
                mEditTextAmount.setVisibility(View.GONE); 
                mTextDescription.setVisibility(View.GONE); 
                mButtonAdd.setVisibility(View.GONE); 
                mButtonSave.setVisibility(View.GONE); 

                zoomOut = true;
            }
        }                   
});