优化照片显示

2017-05-06  本文已影响0人  嗯_4bce

添加一个新类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);
        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;
    }
}

为图片添加点击事件,代码如下:

 mPhotoView = (ImageView) v.findViewById(R.id.crime_photo);
        mPhotoView.setOnClickListener(new View.OnClickListener() {
            public String DIALOG_GLANCE_PICTURE;
            @Override
            public void onClick(View view) {
                FragmentManager manager = getFragmentManager();
                GlancePictureFragment dialog = GlancePictureFragment
                        .newInstance(mPhotoFile.getPath());
                dialog.show(manager, DIALOG_GLANCE_PICTURE);
            }
        });

添加一个名为dialog_image.xml的布局文件,代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
    <ImageView
        android:id="@+id/glance_image"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</LinearLayout>

效果如下:

1.png 2.png 3.png
上一篇下一篇

猜你喜欢

热点阅读