android - 如何使用Android canvas.drawText很好地剪切长文本?

标签 android android-layout android-widget android-custom-view

我正在开发自己的自定义控件。它是一个矩形,里面有文字。文本可能比矩形更长,所以我需要剪切它。请帮助我设计剪辑文本的样式,以便可以理解还有更多文本。最后的字符应该具有不透明度。

Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
// draw button
paint.setColor(Color.parseColor("#b33232"));
canvas.drawRect(0, 0, getWidth(), getHeight(), paint);
paint.reset(); 

// draw text
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.WHITE);
paint.setTextSize(16);
canvas.drawText("My very very long text", 5, 24, paint);
paint.reset();
  • 第一张图片是我的
  • 第二个是我需要得到的

enter image description here

最佳答案

我认为 TextUtils.ellipsize 就是你想要的。

检查这个.. TextUtils

关于android - 如何使用Android canvas.drawText很好地剪切长文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16303564/

相关文章:

java - Android:点击小部件事件

java - 泛型类的动态验证有哪些方法?

java - Android NDK 回调到 Java Activity

android - 支持多种屏幕尺寸的文本

android - 如何清理或刷新 ImageView 位图 Canvas ?

java - AppWidgetProvider : having trouble with variables

android - 新的 CameraX api 是否为单独处理双摄像头流提供多摄像头支持?

android - 换行符在 Notifications android studio 中不起作用

Android Hello World 不同于开发网站

android - 从下到上逐渐填充一个圆圈android