优化照片显示

  1. 新建一个 GlancePictureFragment,继承自 DialogFragment
public class GlancePictureFragment extends DialogFragment {

    private static final String ARG_PATH = "path";

    private ImageView mImage;

    public static GlancePictureFragment newInstance(String path) {
        Bundle args = new Bundle();
        args.putString(ARG_PATH, path);
        GlancePictureFragment fragment = new GlancePictureFragment();
        fragment.setArguments(args);
        return fragment;
    }

    @NonNull
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {

        String path = getArguments().getString(ARG_PATH);

        final Dialog dialog = new Dialog(getActivity(), R.style.CustomDialogTheme);
        dialog.setContentView(R.layout.dialog_image_glance);

        mImage = (ImageView) dialog.findViewById(R.id.glance_image);
        mImage.setImageBitmap(
                PictureUtils.getScaledBitmap(path, getActivity()));
        mImage.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
            }
        });
        return dialog;
    }
}
  1. 在图片的点击事件中声明
        mPhotoView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                FragmentManager manager = getFragmentManager();
                GlancePictureFragment dialog = GlancePictureFragment
                        .newInstance(mPhotoFile.getPath());
                dialog.show(manager, DIALOG_GLANCE_PICTURE);
            }
        });
  1. 添加dialog_image_glance.xml布局文件

    

  1. 在style.xml中添加自定义的主题
优化照片显示_第1张图片
略缩图
优化照片显示_第2张图片
点击略缩图后查看陋习现场细节

你可能感兴趣的:(优化照片显示)