Как открыть изображение в диалоговом окне при нажатии на изображение? - PullRequest
0 голосов
/ 06 апреля 2019

В Activity я хочу, когда пользователь нажимает на изображение.изображение откроется в диалоговом окне.с большим размером.

private ImageView mImageView, FailedImg;
        private ProgressBar mProgressBar;

    mImageView = (ImageView) findViewById(R.id.mPinnedPostImg);
            mProgressBar = (ProgressBar) findViewById(R.id.pb);
            FailedImg = (ImageView) findViewById(R.id.ef_failed_image);

            if (TextUtils.isEmpty(list.getmImagePinnedPost())) {
                mImageView.setImageResource(R.drawable.failed_to_load_img);
                mProgressBar.setVisibility(View.GONE);
            } else {

                Picasso.with(getApplicationContext())
                        .load(list.getmImagePinnedPost())
                        .into(mImageView, new Callback() {
                            @Override
                            public void onSuccess() {
                                mProgressBar.setVisibility(View.GONE);
                                FailedImg.setVisibility(View.GONE);
                            }

                            @Override
                            public void onError() {
                                mImageView.setImageResource(R.drawable.app_logo);
                                mProgressBar.setVisibility(View.GONE);
                            }
                        });

1 Ответ

0 голосов
/ 06 апреля 2019

Таким образом, вы можете создать свой собственный диалог и открыть его, когда на вашем изображении будет нажата:

  yourImage.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //in here open your dialog
            yourDialog diag = new yourDialog();
            diag.show();
        }
    });

Теперь вы можете создать свой собственный диалог следующим образом:

public class yourDialog extends Dialog {
Context mContex;

public yourDialog(@NonNull Context context) {
    super(context);
    mContex= context;
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.invite_dialog);
    closeDialog();
}


private void closeDialog(){
    TextView exit = findViewById(R.id.xButton);
    exit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            dismiss();//close your dialog
        }
    });
  }
}
...