修改交友布局
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
package com.xscm.moduleutil.widget.img;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.Point;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
|
||||
import com.hjq.toast.ToastUtils;
|
||||
import com.xscm.moduleutil.R;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 看大图
|
||||
*/
|
||||
public class FullScreenUtil {
|
||||
|
||||
public static void showFullScreenDialog(Context context, final int pos, final List<String> imgList) {
|
||||
final Dialog dialog = new Dialog(context, R.style.big_pic_dialog);
|
||||
//设置是否允许Dialog可以被点击取消,也会阻止Back键
|
||||
dialog.setCancelable(true);
|
||||
dialog.setCanceledOnTouchOutside(true);
|
||||
Window window = dialog.getWindow();
|
||||
window.setGravity(Gravity.CENTER);
|
||||
//获取Dialog窗体的根容器
|
||||
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
ViewGroup root = (ViewGroup) dialog.getWindow().getDecorView().findViewById(android.R.id.content);
|
||||
//设置窗口大小为屏幕大小item_img_pv
|
||||
WindowManager wm = (WindowManager) context.getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
|
||||
Point screenSize = new Point();
|
||||
wm.getDefaultDisplay().getSize(screenSize);
|
||||
root.setLayoutParams(new LinearLayout.LayoutParams(screenSize.x, screenSize.y));
|
||||
// 获取自定义布局,并设置给Dialog
|
||||
View view = inflater.inflate(R.layout.pop_photo_vp, root, false);
|
||||
final ViewPager img_vp = view.findViewById(R.id.img_vp);
|
||||
final TextView img_num_iv = view.findViewById(R.id.img_num_iv);
|
||||
final ImageView img_down_iv = view.findViewById(R.id.img_down_iv);
|
||||
view.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
|
||||
ImgVPAdapter vpAdapter = new ImgVPAdapter(context, imgList);
|
||||
img_vp.setAdapter(vpAdapter);
|
||||
img_vp.setCurrentItem(pos);
|
||||
img_num_iv.setText((pos + 1) + "/" + imgList.size());
|
||||
img_down_iv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
//保存
|
||||
/* if (imgList.get(pos) != null) {
|
||||
ImageSaveUtils.saveImg(XQDetailActivity.this, imgList.get(pos));
|
||||
}*/
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
img_vp.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View v) {
|
||||
ToastUtils.show("保存成功");
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
img_vp.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||
@Override
|
||||
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageSelected(final int position) {
|
||||
img_num_iv.setText((position + 1) + "/" + imgList.size());
|
||||
img_down_iv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
// if (imgList.get(position) != null) {
|
||||
// ImageSaveUtils.saveImg(XQDetailActivity.this, imgList.get(position));
|
||||
// }
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int state) {
|
||||
|
||||
}
|
||||
});
|
||||
vpAdapter.setAllClickListener(new ImgVPAdapter.AllClickListener() {
|
||||
@Override
|
||||
public void allclick(int pos) {
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
dialog.setContentView(view);
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
package com.xscm.moduleutil.widget.img;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.viewpager.widget.PagerAdapter;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.request.target.CustomTarget;
|
||||
import com.bumptech.glide.request.transition.Transition;
|
||||
import com.xscm.moduleutil.R;
|
||||
import com.xscm.moduleutil.widget.ImageSaveUtils;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class ImgVPAdapter extends PagerAdapter {
|
||||
private Context context;
|
||||
private List<String> paths;
|
||||
|
||||
public ImgVPAdapter(Context context, List<String> paths) {
|
||||
this.context = context;
|
||||
this.paths = paths;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return paths.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isViewFromObject(View view, Object object) {
|
||||
return view == object;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object instantiateItem(ViewGroup container, final int position) {
|
||||
ImageView iv_img = (ImageView) LayoutInflater.from(context).inflate(R.layout.item_img_pv, null);
|
||||
// iv_img.setScaleType(ImageView.ScaleType.CENTER);
|
||||
Glide.with(context).load( paths.get(position)).error(R.mipmap.default_image).into(iv_img);
|
||||
iv_img.setScaleType(ImageView.ScaleType.CENTER);
|
||||
iv_img.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (allClickListener != null) {
|
||||
allClickListener.allclick(position);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
iv_img.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View v) {
|
||||
Glide.with(context)
|
||||
.asBitmap()
|
||||
.load(paths.get(position))
|
||||
.into(new CustomTarget<Bitmap>() {
|
||||
@Override
|
||||
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
|
||||
ImageSaveUtils.saveImg(context, resource);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadCleared(@Nullable Drawable placeholder) {
|
||||
Toast.makeText(context, "图片加载失败", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
});
|
||||
container.addView(iv_img);
|
||||
return iv_img;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void destroyItem(ViewGroup container, int position, Object object) {
|
||||
container.removeView((View) object);
|
||||
}
|
||||
|
||||
public interface AllClickListener {
|
||||
void allclick(int pos);
|
||||
}
|
||||
|
||||
public AllClickListener allClickListener;
|
||||
|
||||
public void setAllClickListener(AllClickListener allClickListener) {
|
||||
this.allClickListener = allClickListener;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user