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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • rcep协议内容_ptp协议

    rcep协议内容_ptp协议展开全部(1)合同的含义合同是当事人或当事双方之间设立、变更、终止民事关系的协议。依法62616964757a686964616fe78988e69d8331333363373036成立的合同,受法律保护。合同具有如下法律特征:①合同是两个或两个以上的、法律地位平等的当事人意思表示一致的协议;②合同以产生、变更或终止债权债务关系为目的;③合同是一种民事法律行为。在合同中,一般用甲方、乙方来指代交易…

    2025年9月26日
    7
  • CAN通信(一)——认识CAN总线[通俗易懂]

    CAN总线通俗易懂CAN总线背景CAN总线是什么网络拓扑节点、报文、信号CAN总线背景作为并非通信专业的土鳖汽车工程师,CAN通信是必须掌握的,但是,记得刚开始上来一看什么定义(什么串行数据通信协议,什么物理层和数据链路层功能,什么帧处理,位填充。。。刚学的时候确实一脸懵)。所以,我只从汽车工程师的角度讲讲我能理解和用得到的CAN通信,才疏学浅,请各位指教!关于OSI模型、物理层、数据链路层,高低电平、数据帧。。等等等,请自行查看如下链接:链接:https://blog.csdn.net/kgc

    2022年4月11日
    68
  • c cshtml html,c# – CSHTML / Razor Views的文档

    c cshtml html,c# – CSHTML / Razor Views的文档我正在努力记录我们的显示和编辑模板(作为扩展,记录我们所有的CSHTML都是有益的).话虽如此,我从未见过任何记录CSHTMLRazorViews的方法.例如,我有这个CSHTMLEditorTemplate:MoneyPicker.cshtml@modelDecimal?@{Layout=null;}@Html.TextBox(“”,ViewData.TemplateInfo.For…

    2022年6月18日
    27
  • 让你轻松架设FTP服务器

    让你轻松架设FTP服务器你想架设你的FTP服务器吗?笔者将从IIS和第三方软件两个角度,教会你轻松架设FTP服务器的方法,让你玩转FTP服务器的架设。一、用IIS架设FTP服务器:1、设置FTP服务器:(1)设置“FTP站点”标签项:在“控制面板→管理工具→Internet服务管理器”窗口中,选中“默认FTP站点→右键→属性”,在图1的“默认FTP站点属性”框中,“IP地址”可以使用默认,端口号保持“2

    2022年7月21日
    10
  • Elasticlunr.js 简单介绍

    Elasticlunr.js 简单介绍

    2022年1月29日
    261
  • C语言每日小练(四)——勇者斗恶龙「建议收藏」

    C语言每日小练(四)——勇者斗恶龙

    2022年2月6日
    43

发表回复

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

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