资讯专栏INFORMATION COLUMN

ionic1使用ImagePicker插件并且显示中文(汉化)

Vultr / 1337人阅读

摘要:在使用开发时,打开相册应该是使用比较频繁的插件之一。解决办法可以看我另一篇文章使用在安卓手机上闪退问题参考文献之图片选择插件使用插件中文显示

在使用ionic开发时,打开相册应该是使用比较频繁的插件之一。
下面讲讲我在项目中使用(这部分官方比较详细,就简单描述)以及解决插件显示英文问题

1、imagepicker安装
cordova plugin add cordova-plugin-image-picker

2、在ionic1开发中的使用
2.1在js文件中

angular.module("app").controller("imagePickerCtrl", ["$scope", "$cordovaImagePicker",
  function ($scope,  $cordovaImagePicker,) {
    "use strict";
    
     $scope.imgList = [];

     $scope.openImagePicker= () => {
        const options = {
            maximumImagesCount: 11, // 允许一次选中的最多照片数量
            width: 800,    // 筛选宽度
            height: 600,    //筛选高度
            quality: 100    //图像质量的大小,默认为100
          };
          
      $cordovaImagePicker.getPictures(options)
        .then(results => {
          console.log("选中的照片返回一个照片地址数组,可以直接在html中绑定");
          $scope.imgList = results;
        }, error => {
          console.log(error);
          console.log("打开照片失败");
        });
     };

 }]);

2.2 在html中


  
     
    

3、最后还有一个问题,就是插件汉化。
我们使用的imagepicker没有支持中文,直接打包安装在手机上,调用打开相册功能时会发现所有文字都是英文,这个时候就需要我们修改一下源码
3.1 在项目的目录platforms/android/res有国际化的几个文件夹

values-de
values-es
values-fr
values-hu
values-ja
values-ko

选择其中的一个文件夹复制中改成values-zh, 然后修改multiimagechooser_strings_es.xml文件



    图片选择器
    请稍后...
    免费版本 - 剩余图片: %d张
    打开相册出现错误
    图片处理中
    这可能需要几分钟时间
    到达上限制
    您最多可以选择 %d 张一次
    取消
    确定

3.2接下来我们需要去修改提示文字部分,在项目目录platforms/android/src/com/synconset/MultiImageChooserActivity.java第175行开始

LoaderManager.enableDebugLogging(false);
        getLoaderManager().initLoader(CURSORLOADER_THUMBS, null, this);
        getLoaderManager().initLoader(CURSORLOADER_REAL, null, this);
        setupHeader();
        updateAcceptButton();
        progress = new ProgressDialog(this);
        progress.setTitle("图片处理中");
        progress.setMessage("请稍后...");
    }

    @Override
    public void onItemClick(AdapterView arg0, View view, int position, long id) {
        String name = getImageName(position);
        int rotation = getImageRotation(position);

        if (name == null) {
            return;
        }
        boolean isChecked = !isChecked(position);
        if (maxImages == 0 && isChecked) {
            isChecked = false;
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle("提示");
            builder.setMessage("您只能选择 " + maxImageCount + "张图片");
            builder.setPositiveButton("知道了", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    dialog.cancel();
                }
            });
            AlertDialog alert = builder.create();
            alert.show();

4、ok,大功告成,接下来再次打包安装后,调用手机相册后就可以看到已经显示中文了

5、写在最后。ionic1的imagePicker还是有些问题的,比如用ionic的camera拍照后,无法在相册中找到该照片,因为ionic的camera在拍照后并不会通知相册更新,然后使用imagepicker上会找不到该照片。

最坑的是,在一些高版本android6以上的手机,直接调用imagepicker会导致手机闪退,这个是因为imagepicker没有请求存储权限和相机权限,android版本较高时是不默认给这两个权限的。
解决办法可以看我另一篇文章:
ionic1使用imagepicker在安卓手机上闪退问题

参考文献:
ionic3之图片选择插件com.synconset.imagepicker

ionic使用ImagePicker插件中文显示

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/107362.html

相关文章

  • ionic1使用ImagePicker插件并且显示中文汉化

    摘要:在使用开发时,打开相册应该是使用比较频繁的插件之一。解决办法可以看我另一篇文章使用在安卓手机上闪退问题参考文献之图片选择插件使用插件中文显示 在使用ionic开发时,打开相册应该是使用比较频繁的插件之一。下面讲讲我在项目中使用(这部分官方比较详细,就简单描述)以及解决插件显示英文问题 1、imagepicker安装cordova plugin add cordova-plugin-im...

    liuyix 评论0 收藏0
  • ionic1使用imagepicker在安卓手机上闪退问题

    摘要:在上一篇文章中,提到了如何在中使用插件,并且实现该插件显示中文汉化问题有兴趣可以看看使用插件并且显示中文汉化这次要解决的问题是在一些手机上打开相册时,莫名闪退问题。,没有闪退,运行正常。这样就能在以上的手机使用参考相册插件和监听返回键 在上一篇文章中,提到了如何在ionic1中使用imagepicker插件,并且实现该插件显示中文(汉化)问题有兴趣可以看看:ionic1使用ImageP...

    EscapedDog 评论0 收藏0
  • ionic1使用imagepicker在安卓手机上闪退问题

    摘要:在上一篇文章中,提到了如何在中使用插件,并且实现该插件显示中文汉化问题有兴趣可以看看使用插件并且显示中文汉化这次要解决的问题是在一些手机上打开相册时,莫名闪退问题。,没有闪退,运行正常。这样就能在以上的手机使用参考相册插件和监听返回键 在上一篇文章中,提到了如何在ionic1中使用imagepicker插件,并且实现该插件显示中文(汉化)问题有兴趣可以看看:ionic1使用ImageP...

    CatalpaFlat 评论0 收藏0
  • tinymce与prism代码高亮实现及汉化的配置

    摘要:简单介绍是一个轻量级的基于浏览器的所见即所得编辑器,由写成。它对和都有着非常良好的支持。功能方强大,并且功能配置灵活简单。另一特点是加载速度非常快的。所以我们使用作为代码高亮插件。简单介绍:TinyMCE是一个轻量级的基于浏览器的所见即所得编辑器,由JavaScript写成。它对IE6+和Firefox1.5+都有着非常良好的支持。功能方强大,并且功能配置灵活简单。另一特点是加载速度非常快的...

    番茄西红柿 评论0 收藏0
  • WordPress主题插件可用Poedit客户端软件汉化(多语种支持准确度高)

    摘要:只不过老蒋有看到单独有一个功能可以一键汉化主题。而且这款软件免费版本和付费版本是不同的,前者不支持一键汉化,所以后面我们安装后老蒋还需要购买付费授权。然后我们用序列号激活软件即可。我们很多站长朋友可能对于WordPress建站是比较精通的,不过我们在选择有些主题和插件的时候,如果是英文主题和插件看着就比较头疼。有一个比较笨拙的办法就是将主题和插件内置的英文更换成简体中文,但是,如果我们一个个...

    jindong 评论0 收藏0

发表评论

0条评论

Vultr

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<