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>