DialogViewpagerPhotoview顯示大圖

package com.bwie.yuekao.dialog;

import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.view.ViewPager;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;

import com.bwie.yuekao.MainActivity;
import com.bwie.yuekao.R;
import com.bwie.yuekao.adapter.MyDialogViewpagerAdapter;
import com.github.chrisbanes.photoview.OnViewTapListener;
import com.github.chrisbanes.photoview.PhotoView;

import org.xutils.x;

import java.util.ArrayList;
import java.util.List;

/**
* Created by Shadow on 2017/8/23.
*/

public class MyDialog extends Dialog {

List<String> list;
private View view;
private TextView currImage;
private ViewPager vp;
private ArrayList<View> phoList;

public MyDialog(@NonNull Context context, List<String> list) {
    super(context, R.style.transparentBgDialog);
    this.list = list;
    initView(context);
    initData(context, list);
}

private void initData(Context context, final List<String> list) {
    currImage.setText("1/" + list.size());
    phoList = new ArrayList<>();

    for (int i = 0; i < list.size(); i++) {

        final PhotoView photoView = new PhotoView(context);
        photoView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dismiss();
            }
        });

        ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
        photoView.setLayoutParams(layoutParams);
        x.image().bind(photoView, list.get(i));
        phoList.add(photoView);
    }

    MyDialogViewpagerAdapter viewpagerAdapter = new MyDialogViewpagerAdapter(phoList);
    vp.setAdapter(viewpagerAdapter);
    vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }

        @Override
        public void onPageSelected(int position) {

            currImage.setText(position + 1 + "/" + list.size());
        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });
}

private void initView(Context context) {
    view = View.inflate(context, R.layout.mydialog, null);
    currImage = (TextView) view.findViewById(R.id.currImage);
    vp = (ViewPager) view.findViewById(R.id.vp);
}


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(view);
    WindowManager.LayoutParams params = getWindow().getAttributes();
    params.x = 0;
    params.y = 0;
    DisplayMetrics metrics = new DisplayMetrics();


    try {
        Activity activity = (Activity) getContext();
        WindowManager windowManager = activity.getWindowManager();
        windowManager.getDefaultDisplay().getMetrics(metrics);
        params.width = metrics.widthPixels;
        params.height = metrics.heightPixels;
    } catch (ClassCastException e) {
        e.printStackTrace();
    }


}

}

<color name="transparent">#00000000</color>
<style name="transparentBgDialog" parent="@android:style/Theme.Dialog">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:background">@color/transparent</item>
    <item name="android:windowBackground">@color/transparent</item>
    <item name="android:backgroundDimEnabled">true</item>
    <item name="android:windowNoTitle">true</item>
</style>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章