Code Monkey home page Code Monkey logo

richtext's People

Contributors

wanyt avatar zzhoujay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

richtext's Issues

多张大图情况下加载有问题

测试的内容是知乎手机网页上看到的一个回答
链接

实际使用过程中我用来显示的String如下

汉仪喵魂体!<br>自己写了小半年的手写字体刚上线,自我感觉还是值得推荐的!<br>我先给大家图文并茂地讲讲这字儿怎么值得推荐!<br><img src="https://pic3.zhimg.com/b6a1334f561eb6f388d5321402ee6c0e_b.jpg" data-rawwidth="800" data-rawheight="3266" class="origin_image zh-lightbox-thumb" width="800" data-original="https://pic3.zhimg.com/b6a1334f561eb6f388d5321402ee6c0e_r.jpg&quot;&gt;&lt;img src="https://pic3.zhimg.com/13fc1f61deeea1e4d5b1fd4d36b30b82_b.jpg" data-rawwidth="801" data-rawheight="6071" class="origin_image zh-lightbox-thumb" width="801" data-original="https://pic3.zhimg.com/13fc1f61deeea1e4d5b1fd4d36b30b82_r.jpg&quot;&gt;&lt;img src="https://pic3.zhimg.com/07fcb9ad57c568d2d41466616fdc6022_b.jpg" data-rawwidth="801" data-rawheight="5475" class="origin_image zh-lightbox-thumb" width="801" data-original="https://pic3.zhimg.com/07fcb9ad57c568d2d41466616fdc6022_r.jpg&quot;&gt;&lt;img src="https://pic1.zhimg.com/a5d631cc0a6c9c5b38c6243ef89e1794_b.jpg" data-rawwidth="801" data-rawheight="7352" class="origin_image zh-lightbox-thumb" width="801" data-original="https://pic1.zhimg.com/a5d631cc0a6c9c5b38c6243ef89e1794_r.jpg&quot;&gt;&lt;img src="https://pic4.zhimg.com/47188b45390ec15b1fd290c2a472d043_b.jpg" data-rawwidth="801" data-rawheight="5358" class="origin_image zh-lightbox-thumb" width="801" data-original="https://pic4.zhimg.com/47188b45390ec15b1fd290c2a472d043_r.jpg&quot;&gt;&lt;br&gt;字库加标点接近一万字&lt;br&gt;&lt;br&gt;我的极速是除了吃饭睡觉&lt;br&gt;一刻不停的写&lt;br&gt;一天最多300字&lt;br&gt;极速一天之后第二天就要最少崩溃半天&lt;br&gt;哈哈哈哈哈&lt;br&gt;&lt;br&gt;上半年因为出书有点拖延&lt;br&gt;&lt;br&gt;到临交稿的两个月剩的有点多&lt;br&gt;我只好回老家闭关写&lt;br&gt;(有人做饭啊没有干扰还)&lt;br&gt;有一个半月的时间里&lt;br&gt;每天都&lt;br&gt;从天亮写到天黑&lt;br&gt;从睁眼写到闭眼&lt;br&gt;&lt;br&gt;微信朋友圈还合作什么的&lt;br&gt;啥也不管了不回了&lt;br&gt;&lt;br&gt;特别的酸爽&lt;br&gt;坚持下来之后感觉耐力提升了一百倍&lt;br&gt;&lt;br&gt;之后谁再说什么事儿忍不了抛不下&lt;br&gt;我就特别想说&lt;br&gt;你去抛下一切功名利禄社交合作&lt;br&gt;写俩月字库试试&lt;br&gt;之后什么矫情都没了&lt;br&gt;&lt;br&gt;云淡风轻的&lt;br&gt;&lt;img src="https://pic1.zhimg.com/00f14a0147fd336a6c34c7817f4f096c_b.jpg" data-rawwidth="801" data-rawheight="3178" class="origin_image zh-lightbox-thumb" width="801" data-original="https://pic1.zhimg.com/00f14a0147fd336a6c34c7817f4f096c_r.jpg&quot;&gt;&lt;img src="https://pic2.zhimg.com/0d1a5113e3ea1bb379b56faeba908f71_b.jpg" data-rawwidth="600" data-rawheight="600" class="origin_image zh-lightbox-thumb" width="600" data-original="https://pic2.zhimg.com/0d1a5113e3ea1bb379b56faeba908f71_r.jpg&quot;&gt;啊……&lt;br&gt;最近又有一个字体的想法……&lt;br&gt;还蛮好看……&lt;br&gt;但是写一套太累辣!

版本编译有问题

你好,gradle中集成你的最新2.0.13,同步显示v23里面com.android.support/appcompat-v7/23.0.1/res/values-v23/values-v23.xml找不到,我项目中的编译版本和版本工具都是22的,target也是22,升级成23会带来很多问题,想请问一下,可不可以把你的架包版本降低呢?

图片显示位置的问题

为什么每张图片显示都是另起一行呢?
图片和文字能否在同一行显示,当图片高度大于文字高度,文字居中显示,当文字高度大于图片高度,图片居中显示。
这个能实现么?要怎么处理呢?

图片格式问题

没有处理图片的格式,比如大小、居中等样式一律无效啊

图片加载

请问此富文本text加载网络图片是用的什么呢? 可以自己调用glide吗? 我试了一下加载不出这种[img src]格式的图片

编译问题

就是gradle 下载的时候 编译不通过 [应该是你的版本太高 但是改成高版本以后 我的项目中估计是android 低版本支持的方法 都不支持了 所以你富文本组件 能不能降低版本呀

)

图片的点击问题

发现图片的点击事件有几个问题:
1.GifActivity中点击第一张图,图片上方会出现大约5像素的背景条
2.如果autoFix(false),textview的宽也设置wrap_content,要显示的内容中有两张图片垂直排列,第二张图片的宽度比第一张图片小,这时候第二张图的点击宽度是第一张图的宽度,也就是点击第二张图右边小于第一张图片宽度的空白的地方也会响应点击事件
3.点击图片手指移动到其他地方再松开,也会响应点击事件,跟一般OnClick事件不一样
望解决!!!

图片没有显示出来

我在布局里面:
<zhou.widget.RichText
android:id="@+id/tv_content_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/d10"
android:layout_toLeftOf="@id/iv_avatar_right"
android:gravity="right|center_vertical"
android:maxWidth="@dimen/d350"
app:zhou_default_height="@dimen/d50"
app:zhou_default_width="@dimen/d50"
android:layout_alignTop="@+id/iv_avatar_right"
android:textColor="@color/white"
app:zhou_errorImage="@drawable/icon_sentence_next"
app:zhou_placeHolder="@drawable/icon_sentence_next"
android:textSize="@dimen/text_size_27"/>

代码里面将本地资源转换为drawable的形式显示出来,但是没有看到相应的图片显示

Is the min sdk 15?

Hey! This is a quite nice library. Must the library min sdk be 15? I want to use it in my project whose min sdk is 14.

图片不显示

首次打开前面几张图片不显示,不知道为什么,下面3张会显示,好像我用AsyncTask 重写了请求的就都显示,这是为什么?

OpenGLRenderer: Bitmap too large to be uploaded into a texture (3120x4160, max=4096x4096)

图片过大后出现的问题
代码部分:
RichText.from(quanziArticle.getContent()).autoFix(false).fix(new ImageFixCallback() {
@OverRide
public void onFix(ImageHolder holder, boolean imageReady) {
if (holder.getHeight() < AndroidUtils.getHeight() && holder.getWidth() < AndroidUtils.getWidth()) {
holder.setAutoFix(true);
} else {
holder.setHeight(AndroidUtils.getHeight());
holder.setWidth(AndroidUtils.getWidth());
}
}
}).into(mArticleContent);

ViewPage中的Fragment 中使用,如果图片过多会出现OOM

RT,这个确实是会出现,不知道是为啥
PriorityExecutor: Request threw uncaught throwable java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Failed to allocate a 1935192 byte allocation with 1761372 free bytes and 1720KB until OOM at java.util.concurrent.FutureTask.report(FutureTask.java:93) at java.util.concurrent.FutureTask.get(FutureTask.java:163) at com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor.afterExecute(FifoPriorityThreadPoolExecutor.java:96) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1120) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818) at com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor$DefaultThreadFactory$1.run(FifoPriorityThreadPoolExecutor.java:118) Caused by: java.lang.OutOfMemoryError: Failed to allocate a 1935192 byte allocation with 1761372 free bytes and 1720KB until OOM at dalvik.system.VMRuntime.newNonMovableArray(Native Method) at android.graphics.BitmapFactory.nativeDecodeStream(Native Method) at android.graphics.BitmapFactory.decodeStreamInternal(BitmapFactory.java:635) at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:611) at com.bumptech.glide.load.resource.bitmap.Downsampler.decodeStream(Downsampler.java:329) at com.bumptech.glide.load.resource.bitmap.Downsampler.downsampleWithSize(Downsampler.java:220) at com.bumptech.glide.load.resource.bitmap.Downsampler.decode(Downsampler.java:153) at com.bumptech.glide.load.resource.bitmap.StreamBitmapDecoder.decode(StreamBitmapDecoder.java:50) at com.bumptech.glide.load.resource.bitmap.StreamBitmapDecoder.decode(StreamBitmapDecoder.java:19) at com.bumptech.glide.load.resource.bitmap.ImageVideoBitmapDecoder.decode(ImageVideoBitmapDecoder.java:39) at com.bumptech.glide.load.resource.bitmap.ImageVideoBitmapDecoder.decode(ImageVideoBitmapDecoder.java:20) at com.bumptech.glide.load.engine.DecodeJob.decodeFromSourceData(DecodeJob.java:190) at com.bumptech.glide.load.engine.DecodeJob.decodeSource(DecodeJob.java:177) at com.bumptech.glide.load.engine.DecodeJob.decodeFromSource(DecodeJob.java:128) at com.bumptech.glide.load.engine.EngineRunnable.decodeFromSource(EngineRunnable.java:122) at com.bumptech.glide.load.engine.EngineRunnable.decode(EngineRunnable.java:101) at com.bumptech.glide.load.engine.EngineRunnable.run(EngineRunnable.java:58) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)  at java.lang.Thread.run(Thread.java:818)  at com.bumptech.glide.load.engine.executor.FifoPriorityThreadPoolExecutor$DefaultThreadFactory$1.run(FifoPriorityThreadPoolExecutor.java:118) 

宽高问题

这个问题似乎还没解决.我

     htmlTv.setImageFixListener(new RichText.ImageFixListener() {
            @Override
            public void onFix(RichText.ImageHolder holder) {
                if (holder.getWidth() > 10 || holder.getHeight() > 10) {
                    int width = getScreenWidth(getApplicationContext());
                    int height = width;
                    holder.setWidth(width);
                    holder.setHeight(height);
                    holder.setScaleType(RichText.ImageHolder.CENTER_INSIDE);
                }
            }
        });

        htmlTv.setRichText(article.getContent());

效果还是没有占满一个频幕宽度。是我代码写的有问题?

err: Height must be positive number or 0.

你好,我在使用例子时,下面的html时报错了: Height must be positive number or 0.
请问需要如何修改?

代码如下:

private static final String TEXT_HTML ="<img src=\"http://www.chn-zj.com/upload/image/Wc2cw3CZ.png\" alt=\"深圳朗锐智建有限公司\" width=\"288\" height=\"48\"/><Br/><div id=\"sta_content\"> \n"+
    " <p style=\"text-indent:2em;\"> <span style=\"font-size:14px;\"><span style=\"line-height:2;\">公司简介:</span><br> <span style=\"line-height:2;\"> &nbsp; &nbsp; &nbsp; &nbsp; 深圳朗锐智建科技有限公司,即</span><span style=\"line-height:2;\">智能建筑物联网综合方案运营商。</span></span> </p> \n"+
    " <p style=\"text-indent:2em;\"> <span style=\"font-size:14px;\"></span><span style=\"font-size:14px;line-height:2;\"> &nbsp; </span><span style=\"font-size:14px;line-height:2;\">专注智慧建筑,以物联网为骨干,以智能终端为神经元,以云平台为决策思维,实现幸福城市建</span><span style=\"font-size:14px;line-height:2;\">筑智慧化,提升建筑生态环境品质,培育具生命的活体建筑。</span> </p> \n"+
    " <p style=\"text-indent:2em;\"> <span style=\"font-size:14px;\"><span style=\"line-height:2;\">&nbsp;&nbsp;</span><span><span style=\"line-height:2;\">公司目前自主研发多项</span></span></span><span style=\"font-size:14px;line-height:28px;\">产品</span><span style=\"font-size:14px;text-indent:2em;line-height:2;\">,包括楼宇自动化系统、BMS楼宇管理系统、大型公建能耗监管平台、多功能能耗数据采集器、智能控制器等。公司以筑造智能科技平台,在建筑物联网行业中成为行业领军企业</span><span style=\"font-size:14px;text-indent:2em;line-height:2;\">。</span> </p> \n"+
    "</div>";


text.setRichText(TEXT_HTML);

报错:

错误位置:
RichText.java:265行

 if (holder.width != -1 && holder.height != -1) {
    load.resize(holder.width, holder.height);
}

java.lang.RuntimeException: Unable to start activity ComponentInfo{zhou.demo/zhou.demo.MainActivity}: java.lang.IllegalArgumentException: Height must be positive number or 0.
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2581)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2656)
   at android.app.ActivityThread.access$800(ActivityThread.java:178)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1512)
   at android.os.Handler.dispatchMessage(Handler.java:111)
   at android.os.Looper.loop(Looper.java:194)
   at android.app.ActivityThread.main(ActivityThread.java:5691)
   at java.lang.reflect.Method.invoke(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:372)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
Caused by: java.lang.IllegalArgumentException: Height must be positive number or 0.
   at com.squareup.picasso.Request$Builder.resize(Request.java:302)
   at com.squareup.picasso.RequestCreator.resize(RequestCreator.java:219)
   at zhou.widget.RichText$2.getDrawable(RichText.java:265)
   at android.text.HtmlToSpannedConverter.startImg(Html.java:634)
   at android.text.HtmlToSpannedConverter.handleStartTag(Html.java:520)
   at android.text.HtmlToSpannedConverter.startElement(Html.java:761)
   at org.ccil.cowan.tagsoup.Parser.push(Parser.java:794)
   at org.ccil.cowan.tagsoup.Parser.rectify(Parser.java:1061)
   at org.ccil.cowan.tagsoup.Parser.stage(Parser.java:1026)
   at org.ccil.cowan.tagsoup.HTMLScanner.scan(HTMLScanner.java:632)
   at org.ccil.cowan.tagsoup.Parser.parse(Parser.java:449)
   at android.text.HtmlToSpannedConverter.convert(Html.java:442)
   at android.text.Html.fromHtml(Html.java:136)
   at zhou.widget.RichText.setRichText(RichText.java:102)
   at zhou.demo.MainActivity.onCreate(MainActivity.java:68)
   at android.app.Activity.performCreate(Activity.java:6142)
   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1115)
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2528)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2656) 
   at android.app.ActivityThread.access$800(ActivityThread.java:178) 
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1512) 
   at android.os.Handler.dispatchMessage(Handler.java:111) 
   at android.os.Looper.loop(Looper.java:194) 
   at android.app.ActivityThread.main(ActivityThread.java:5691) 
   at java.lang.reflect.Method.invoke(Native Method) 
   at java.lang.reflect.Method.invoke(Method.java:372) 
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) 
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 

当加载图片缓慢的时候关闭activity出现异常

t E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NullPointerException
at com.zzhoujay.richtext.RichText$ImageTargetGif.recycle(RichText.java:367)
at com.zzhoujay.richtext.RichText.recycleTarget(RichText.java:172)
at com.zzhoujay.richtext.RichText.access$1100(RichText.java:57)
at com.zzhoujay.richtext.RichText$ImageTargetGif.onViewDetachedFromWindow(RichText.java:407)
at android.view.View.dispatchDetachedFromWindow(View.java:11983)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2530)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2530)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2530)

请问超链接能够自定义回调吗

我看你调用了Html.fromHtml方法去解析html格式的文本,这样会导致超链接都是UrlSpan,点击后都执行跳转到浏览器的方法,能够在不影响整体显示按html显示而去实现点击链接去自定义行为吗

图片被base64加密过后能展示么。

"dsad <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVwAAAB+CAYAAABoBamlAAAMGGlDQ1BJQ0MgUHJvZmlsZQAASImVlwdUU0kXx+eVFEISSiACUkJvgvQqvXekg42QBAglhEBQsSOLCq4FFR

数据格式大概是长这样的.....

文字大小

这个能设置同一个Textview中不同字的大小吗

我的个人建议

RichText有.error(Drawable d)和.placeHolder(Drawable d)这两个方法,可以再提供两个参数都是resId的方法吗?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.