移动端强大的富文本编辑器richeditor-android,看完这篇

2024-06-04 9708阅读
  • 设置字体颜色

    */

    findViewById(R.id.action_txt_color).setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

    mEditor.focusEditor();

    new MaterialDialog.Builder(MainActivity.this)

    .title(“选择字体颜色”)

    .items(R.array.color_items)

    .itemsCallbackSingleChoice(-1, new MaterialDialog.ListCallbackSingleChoice() {

    @Override

    public boolean onSelection(MaterialDialog dialog, View itemView, int which, CharSequence text) {

    dialog.dismiss();

    switch (which) {

    case 0://红

    mEditor.setTextColor(Color.RED);

    break;

    case 1://黄

    mEditor.setTextColor(Color.YELLOW);

    break;

    case 2://蓝

    mEditor.setTextColor(Color.GREEN);

    break;

    case 3://绿

    mEditor.setTextColor(Color.BLUE);

    break;

    case 4://黑

    mEditor.setTextColor(Color.BLACK);

    break;

    }

    return false;

    }

    }).show();

    }

    });

    findViewById(R.id.action_bg_color).setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

    mEditor.focusEditor();

    new MaterialDialog.Builder(MainActivity.this)

    .title(“选择字体背景颜色”)

    .items(R.array.text_back_color_items)

    .itemsCallbackSingleChoice(-1, new MaterialDialog.ListCallbackSingleChoice() {

    @Override

    public boolean onSelection(MaterialDialog dialog, View itemView, int which, CharSequence text) {

    dialog.dismiss();

    switch (which) {

    case 0://红

    mEditor.setTextBackgroundColor(Color.RED);

    break;

    case 1://黄

    mEditor.setTextBackgroundColor(Color.YELLOW);

    break;

    case 2://蓝

    mEditor.setTextBackgroundColor(Color.GREEN);

    break;

    case 3://绿

    mEditor.setTextBackgroundColor(Color.BLUE);

    break;

    case 4://黑

    mEditor.setTextBackgroundColor(Color.BLACK);

    break;

    case 5://透明

    mEditor.setTextBackgroundColor(R.color.transparent);

    break;

    }

    return false;

    }

    }).show();

    }

    });

    /**

    • 向右缩进

      */

      findViewById(R.id.action_indent).setOnClickListener(new View.OnClickListener() {

      @Override

      public void onClick(View v) {

      mEditor.focusEditor();

      mEditor.setIndent();

      }

      });

      /**

      • 向左缩进

        */

        findViewById(R.id.action_outdent).setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View v) {

        mEditor.focusEditor();

        mEditor.setOutdent();

        }

        });

        /**

        *文章左对齐

        */

        findViewById(R.id.action_align_left).setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View v) {

        mEditor.focusEditor();

        mEditor.setAlignLeft();

        }

        });

        /**

        • 文章居中对齐

          */

          findViewById(R.id.action_align_center).setOnClickListener(new View.OnClickListener() {

          @Override

          public void onClick(View v) {

          mEditor.setAlignCenter();

          }

          });

          /**

          • 文章右对齐

            */

            findViewById(R.id.action_align_right).setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

            mEditor.setAlignRight();

            }

            });

            /**

            • 无序排列

              */

              findViewById(R.id.action_insert_bullets).setOnClickListener(new View.OnClickListener() {

              @Override

              public void onClick(View v) {

              mEditor.setBullets();

              }

              });

              /**

              • 有序排列

                */

                findViewById(R.id.action_insert_numbers).setOnClickListener(new View.OnClickListener() {

                @Override

                public void onClick(View v) {

                mEditor.setNumbers();

                }

                });

                /**

                • 引用

                  */

                  findViewById(R.id.action_blockquote).setOnClickListener(new View.OnClickListener() {

                  @Override

                  public void onClick(View v) {

                  mEditor.setBlockquote();

                  }

                  });

                  /**

                  • 插入图片

                    */

                    findViewById(R.id.action_insert_image).setOnClickListener(new View.OnClickListener() {

                    @Override

                    public void onClick(View v) {

                    mEditor.focusEditor();

                    ActivityCompat.requestPermissions(MainActivity.this, mPermissionList, 100);

                    }

                    });

                    /**

                    • 插入连接

                      */

                      findViewById(R.id.action_insert_link).setOnClickListener(new View.OnClickListener() {

                      @Override

                      public void onClick(View v) {

                      new MaterialDialog.Builder(MainActivity.this)

                      .title(“将输入连接地址”)

                      .items(“http://blog.csdn.net/huangxiaoguo1”)

                      .itemsCallbackSingleChoice(-1, new MaterialDialog.ListCallbackSingleChoice() {

                      @Override

                      public boolean onSelection(MaterialDialog dialog, View itemView, int which, CharSequence text) {

                      dialog.dismiss();

                      mEditor.focusEditor();

                      mEditor.insertLink(“http://blog.csdn.net/huangxiaoguo1”,

                      “http://blog.csdn.net/huangxiaoguo1”);

                      return false;

                      }

                      }).show();

                      }

                      });

                      /**

                      • 选择框

                        */

                        findViewById(R.id.action_insert_checkbox).setOnClickListener(new View.OnClickListener() {

                        @Override

                        public void onClick(View v) {

                        mEditor.focusEditor();

                        mEditor.insertTodo();

                        }

                        });

                        /**

                        • 获取并显示Html

                          */

                          findViewById(R.id.tv_showhtml).setOnClickListener(new View.OnClickListener() {

                          @Override

                          public void onClick(View v) {

                          Intent intent = new Intent(v.getContext(), WebViewActivity.class);

                          intent.putExtra(“contextURL”, mEditor.getHtml());

                          startActivity(intent);

                          }

                          });

                          • 插入图片并使用屏幕宽度

                            移动端强大的富文本编辑器richeditor-android,看完这篇 第1张

                            移动端强大的富文本编辑器richeditor-android,看完这篇 第2张

                            权限,我这里只是选着图片,关于拍照的自己可以去实现

                            String[] mPermissionList = new String[]{

                            Manifest.permission.WRITE_EXTERNAL_STORAGE,

                            Manifest.permission.READ_EXTERNAL_STORAGE};

                            @Override

                            public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {

                            super.onRequestPermissionsResult(requestCode, permissions, grantResults);

                            switch (requestCode) {

                            case 100:

                            boolean writeExternalStorage = grantResults[0] == PackageManager.PERMISSION_GRANTED;

                            boolean readExternalStorage = grantResults[1] == PackageManager.PERMISSION_GRANTED;

                            if (grantResults.length > 0 && writeExternalStorage && readExternalStorage) {

                            getImage();

                            } else {

                            Toast.makeText(this, “请设置必要权限”, Toast.LENGTH_SHORT).show();

                            }

                            break;

                            }

                            }

                            private void getImage() {

                            if (Build.VERSION.SDK_INT

                            startActivityForResult(new Intent(Intent.ACTION_GET_CONTENT).setType(“image/*”),

                            REQUEST_PICK_IMAGE);

                            } else {

                            Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);

                            intent.addCategory(Intent.CATEGORY_OPENABLE);

                            自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

                            深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

                            因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

                            移动端强大的富文本编辑器richeditor-android,看完这篇 第3张

                            移动端强大的富文本编辑器richeditor-android,看完这篇 第4张

                            移动端强大的富文本编辑器richeditor-android,看完这篇 第5张

                            移动端强大的富文本编辑器richeditor-android,看完这篇 第6张

                            移动端强大的富文本编辑器richeditor-android,看完这篇 第7张

                            移动端强大的富文本编辑器richeditor-android,看完这篇 第8张

                            移动端强大的富文本编辑器richeditor-android,看完这篇 第9张

                            既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

                            由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

                            如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)

                            移动端强大的富文本编辑器richeditor-android,看完这篇 第10张

                            总结

                            笔者之前工作是在金融公司可能并不是特别追求技术,而笔者又是喜欢追求技术的人,所以格格不入,只能把目标放在互联网大厂了。也希望大家都去敢于尝试和追逐自己的梦想!

                            BATJ大厂Android高频面试题

                            移动端强大的富文本编辑器richeditor-android,看完这篇 第11张

                            移动端强大的富文本编辑器richeditor-android,看完这篇 第12张

                            移动端强大的富文本编辑器richeditor-android,看完这篇 第13张

                            移动端强大的富文本编辑器richeditor-android,看完这篇 第14张

                            觉得有收获的记得点赞,关注+收藏哦!你们的点赞就是我的动力!

                            oid开发知识点,真正体系化!**

                            由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

                            如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)

                            [外链图片转存中…(img-Xzt4x8sI-1711883673692)]

                            总结

                            笔者之前工作是在金融公司可能并不是特别追求技术,而笔者又是喜欢追求技术的人,所以格格不入,只能把目标放在互联网大厂了。也希望大家都去敢于尝试和追逐自己的梦想!

                            BATJ大厂Android高频面试题

                            [外链图片转存中…(img-bo7Cbr9S-1711883673693)]

                            [外链图片转存中…(img-zLS95Ykv-1711883673693)]

                            [外链图片转存中…(img-hNqNmoQR-1711883673693)]

                            [外链图片转存中…(img-hawdHGOF-1711883673693)]

                            觉得有收获的记得点赞,关注+收藏哦!你们的点赞就是我的动力!

                            本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]