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;

}

}

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 网络爬虫之动态内容爬取

    根据联合国网站可访问性审计报告,73%的主流网站都在其重要功能中依赖JavaScript。和单页面应用的简单表单事件不通,使用JavaScript时,不再是加载后立即下载所有页面内容。这样会造成许多网

    2021年12月29日
  • mybatispluslog激活码[最新免费获取]

    (mybatispluslog激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1STL5S9V8F-eyJsaWNlb…

  • SSD原理解读-从入门到精通「建议收藏」

    SSD原理解读-从入门到精通「建议收藏」SSD原理解读-从入门到精通

  • HorizontalScrollView 详解[通俗易懂]

    HorizontalScrollView 详解[通俗易懂]2019独角兽企业重金招聘Python工程师标准>>>…

  • oracle面试必会6题经典_oracle常见面试题

    oracle面试必会6题经典_oracle常见面试题1.你要对操纵Oracle数据库中的数据。下列哪个选项表示Oracle中select语句的功能,并且不需要使用子查询(C)A.可以用select语句改变Oracle中的数据B.可以用select语句删除Oracle中的数据C.可以用select语句和另一个表的内容生成一个表D.可以用select语句对表截断2.你要在Oracle中定义SQL查询。下列哪个数据库对象不能直接从select语句中引用…

    2022年10月18日
  • mysql通配符转义_转义MySQL通配符

    mysql通配符转义_转义MySQL通配符小编典典_而%不是通配符在MySQL一般,而且不应该被转义,将它们放入普通的字符串字面量的目的。mysql_real_escape_string是正确的,足以满足此目的。addcslashes不应该使用。_并且%仅在LIKE-matching上下文中是特殊的。当您想为LIKE语句中的文字使用准备字符串时,要100%匹配百分之一百,而不仅仅是以100开头的任何字符串,都需要担心两种转义。首先是喜欢转…

发表回复

您的电子邮箱地址不会被公开。

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