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


相关推荐

  • java 生成xml dom4j_Java生成xml——DOM4J生成

    java 生成xml dom4j_Java生成xml——DOM4J生成一、四种方式的总结【DOM】DOM方式生成xml是基于DOM树的结构,整个DOM树会存在内存中,所以使用DOM方式可以频繁的修改xml的内容,但是因为DOM树是存在内存中的,所以对内存消耗较大。DOM方式比较适用于需要频繁删改的情况。【SAX】SAX方式生成xml是逐步写一、DOM4J生成实例Dom4JToXmlDemo.javapublicclassDom4JToXmlDemo{p…

    2022年7月14日
    12
  • java程序一定会加载的包是哪个?

    java程序一定会加载的包是哪个?

    2021年7月16日
    60
  • 简单介绍一下spring bean的生命周期_java类的生命周期

    简单介绍一下spring bean的生命周期_java类的生命周期1.springbean生命周期2.Aware接口2.1.作用一个标记,标记在spring容器初始化时需要获取上下文中当前的一些运行环境;2.2.常用接口ApplicationContextAware:获取ApplicationContextspring上下文;ApplicationEventPublisherAware:获取ApplicationEventPublisher事件发布器;BeanClassLoaderAware:获取当前的ClassLoader类加载器;BeanFac

    2022年9月15日
    0
  • 4G演进之路:FDD还是TDD?[通俗易懂]

    4G演进之路:FDD还是TDD?[通俗易懂]达到更高频谱利用率、覆盖率,同时保证多媒体应用的QoS服务质量,已经成为第四代蜂窝4G网络的挑战和目标。在4G系统里,有许多关于物理层和多接入以提高频谱利用率方面的研究,以支持高达100Mbps甚至更高的数据传输速率。例如,正交频分多址OFDMA、MIMO天线,以及跨层资源优化,被认为是4G系统中的核心技术,并同时在频率选择的衰落信道中提供高可靠通信。  另一方面,4G系统双工方式的选择,是F

    2022年5月25日
    63
  • SQLserver字符串转日期_sqlserver合并字符串

    SQLserver字符串转日期_sqlserver合并字符串框架用的是mybatis。sqlserver:CONVERT(datetime,#{transaction_date_time},20), mysql: DATE_FORMAT(#{transaction_date_time},’%Y-%m-%d%H:%i:%S’)

    2022年10月8日
    0
  • Ubuntu卸载软件_ubuntu卸载桌面

    Ubuntu卸载软件_ubuntu卸载桌面ubuntu删除软件和相关配置记录一下,记不住,避免每次都查1、卸载命令一般的卸载方式:sudoapt-getremovexxxx卸载并清除相关配置命令sudoapt-getremove–purgexxxx例如想删除Vimsudoapt-getremove–purgevim…

    2022年10月5日
    0

发表回复

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

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