android 从相册选择图片_android调用相册并显示图片

android 从相册选择图片_android调用相册并显示图片publicclassMainActivityextendsAppCompatActivity{intREQUEST_CODE=0;privateNineGridImageViewngiv;privateArrayListphotos;privateDialogdialog;privatecn.com.jwtimes.www.jwtimes.mAdaptermAdapter1…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

public class MainActivity extendsAppCompatActivity {int REQUEST_CODE = 0;privateNineGridImageView ngiv;private ArrayListphotos;privateDialog dialog;privatecn.com.jwtimes.www.jwtimes.mAdapter mAdapter1;

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

TextView tv=findViewById(R.id.tv);

ngiv=findViewById(R.id.ngiv);

tv.setOnClickListener(newView.OnClickListener() {

@Overridepublic voidonClick(View v) {

PhotoPickerIntent intent= new PhotoPickerIntent(MainActivity.this);

intent.setPhotoCount(9);

intent.setShowCamera(true);

startActivityForResult(intent, REQUEST_CODE);

}

});

}

@Overrideprotected void onActivityResult(int requestCode, intresultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode == RESULT_OK && requestCode ==REQUEST_CODE) {if (data != null) {

photos=data.getStringArrayListExtra(PhotoPickerActivity.KEY_SELECTED_PHOTOS);

ngiv.setAdapter(mAdapter);

ngiv.setImagesData(photos);

}

}

}private NineGridImageViewAdapter mAdapter = new NineGridImageViewAdapter() {

@Overrideprotected void onDisplayImage(Context context, ImageView imageView, finalString url) {

Glide.with(context)

.load(url)

.into(imageView);

}

@OverrideprotectedImageView generateImageView(Context context) {return super.generateImageView(context);

}

@Overrideprotected void onItemImageClick(Context context, int index, ListphotoList) {

showBigPicture(context, photos, index);

}

};private void showBigPicture(Context context, final ArrayList photos, final intindex) {

dialog= newDialog(context, R.style.MyDialog);

View contentView= View.inflate(context, R.layout.dialog_tip, null);final ViewPager vp =(ViewPager) contentView.findViewById(R.id.vp);

ImageView ivDelete=(ImageView) contentView.findViewById(R.id.ivDelete);

mAdapter1= new mAdapter(this, photos, dialog);

vp.setAdapter(mAdapter1);

vp.setCurrentItem(index);

ivDelete.setOnClickListener(newView.OnClickListener() {

@Overridepublic voidonClick(View v) {int currentItem =vp.getCurrentItem();

Iterator sListIterator =photos.iterator();while(sListIterator.hasNext()) {

String e=sListIterator.next();if(e.equals(photos.get(currentItem))) {

sListIterator.remove();

mAdapter1.notifyDataSetChanged();break;

}

}

}

});

dialog.setOnDismissListener(newDialogInterface.OnDismissListener() {

@Overridepublic voidonDismiss(DialogInterface dialog) {

ngiv.setAdapter(MainActivity.this.mAdapter);

ngiv.setImagesData(photos);

}

});

dialog.setContentView(contentView);

dialog.setCancelable(true);

dialog.getWindow().setLayout(

getScreenWidth(),

getScreenHeight());

dialog.show();

}public intgetScreenWidth() {

Resources resources=getResources();returnresources.getDisplayMetrics().widthPixels;

}public intgetScreenHeight() {

Resources resources=getResources();returnresources.getDisplayMetrics().heightPixels;

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190791.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 桌面太单调?一起用Python做个自定义动画挂件,好玩又有趣!

    桌面太单调?一起用Python做个自定义动画挂件,好玩又有趣!前言前段时间,写了篇博客关于Python自制一款炫酷音乐播放器。有粉丝问我,音乐播放器为什么要用PyQt5,效果是不是比Tkinter赞?PyQt5真的可以实现这些炫酷的UI画面吗?之前没接触过PyQt5,能不能多分享一些这方面的开发案例?今天就带大家,一起用Python的PyQt5开发一个有趣的自定义桌面动画挂件,看看实现的动画挂件效果!下面,我们开始介绍这个自定义桌面动画挂件的制作过程。一、核心功能设计总体来说,我们需要实现将自己喜欢的动态图gif或者视频转成一个桌面动画挂件,并且可以通过鼠

    2022年4月25日
  • Excel将两个表格关联数据

    Excel将两个表格关联数据Excel将两个表格关联数据合并     有时候我们需要将两个数据表,合并成为一张数据表,根据两张表中,有一个相同定义的列进行合并。      此时,有两个sheet数据表。     数据表1     数据表2      两种表格中都有序列化id这个列,此时,需要把表2中的价格列,根据序列号id,添加到表1中。      首先,在表1中,后面的…

    2022年7月17日
  • Python 实现搭建本地IP代理池

    Python 实现搭建本地IP代理池本文仅供学习交流使用,如侵立删!联系方式及demo下载见文末爬取:66ip免费代理defget_66ip(self):”””抓取66ip免费代理:return:”””forindexinrange(1,self.sixsix_url_range):count=0province=”url=’http

    2022年6月10日
  • Mysql函数FIND_IN_SET()的使用方法

    Mysql函数FIND_IN_SET()的使用方法

    2021年10月24日
  • 使用Sigar包获取操作系统信息[通俗易懂]

    使用Sigar包获取操作系统信息[通俗易懂]项目中的一个需求是获取操作系统的相关信息,可以收集的信息包括:1,CPU信息,包括基本信息(vendor、model、mhz、cacheSize)和统计信息(user、sys、idle、nice、wait)2,文件系统信息,包括Filesystem、Size、Used、Avail、Use%、Type3,事件信息,类似ServiceControlManager4,内存信息

    2022年10月28日
  • mysql练习题及答案_mysql练习题及答案.doc

    mysql练习题及答案_mysql练习题及答案.docmysql练习题及答案mysql练习题及答案mysql查询语句练习题Sutdent表的定义字段名字段描述数据类型主键外键非空唯一自增Id学号INT10是否是是是Name姓名VARCHAR20否否是否否Sex性别VARCHAR4否否否否否Birth出生年份YEAR否…

    2022年9月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号