在自定义活动中绘制 TextView?

2024-01-27

我正在实施一个自定义View,我需要在其中绘制一些文本。文本必须适合一个盒子(所以我必须将其分解并使其适合)。因此,我想我可以使用TextView并在我的自定义中绘制它View。这是我尝试过的:

canvas.drawRoundRect(rect, eventRadius, eventRadius, eventBg);

canvas.save();
canvas.clipRect(rect);
TextView tv = new TextView(getContext());
tv.setText(e.getSummary());
tv.setTextColor(Color.BLACK);
tv.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
tv.layout(0, 0, (int) (rect.right - rect.left), (int) (rect.bottom - rect.top));
tv.draw(canvas);
canvas.restore();

然而,什么也没有出现。我知道rect可以,因为第一个drawRoundRect工作正常。我缺少什么?有没有更好的办法?也许我应该延长ViewGroup反而?我不确定那会如何运作。


不包装即可做到这一点:

canvas.drawText(yourText, xCoord,YCoord, YourPaint);

用包装来做

protected void onDraw(Canvas canvas) {

        TextPaint tp=new TextPaint();
        tp.setARGB(255, 255, 0, 0);
        tp.setTextSize(12);
        StaticLayout sl=new StaticLayout("THIS IS SOME LONGER TEXT",tp,60,Layout.Alignment.ALIGN_NORMAL,1f,0f,true);
        sl.draw(canvas);
        }

http://developer.android.com/reference/android/text/StaticLayout.html http://developer.android.com/reference/android/text/StaticLayout.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在自定义活动中绘制 TextView? 的相关文章

  • 使用 android 将图像上传到 Flickr

    我需要将 Flickr 与 android 集成 我已完成身份验证 我需要将图像上传到 flickr 但我不知道如何执行相同操作 我参考文件 http www flickr com services api upload api html
  • 清除堆内存以防止内存不足异常

    我知道已经有人问过有关内存不足的问题 但我没有找到解决方案 在位图工厂中 我出现内存不足异常 甚至使用 inSampleSize 1 所以我经常用 try catch 内存不足异常来包围它 因为这是一个不好的做法 try catch Out
  • Android Studio 模拟器无法加载 Windows 10

    我在 Windows 10 上全新安装了 android studio 其中包含 android api 22 的所有软件包 当我运行模拟器时 我收到以下消息 C Users admin AppData Local Android sdk
  • 如何设计Android建筑物室内地图? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想设计一个 Android 应用程序 它可以帮助学生和其他人在特定建筑物 一层 中导航 显示前往教室的步行方向 我需要帮助 这是您通
  • Android 操作栏 SearchView 作为自动完成功能?

    我在操作栏中使用 SearchView 我想在搜索视图上使用自动完成功能来从数据库中获取结果 这可能吗 或者我是否需要使用自定义文本框 然后添加自动完成功能 所以我只需要对 v7 版本执行此操作 并沮丧地发现我不能简单地使用 ArrayAd
  • 为什么Android room不建议使用allowMainThreadQueries()?

    我正在创建一个小型应用程序 仅在数据库中保存一些计数器 如果不存在 请插入一个 如果是的话 增加更新 该应用程序没有任何用户界面 它是一个保存和读取数据 少量表 少量记录 的插件 我可以用吗允许主线程查询 在这种情况下 每次我读到一些关于这
  • 尝试在谷歌地图V2 Android应用程序中获取空数组的长度

    我目前正在使用谷歌地图API开发一个Android应用程序 有时我会因为没有明显的原因而发生奇怪的崩溃 在我看来 这是崩溃日志 12 02 16 38 57 071 20796 21137 com appsolute ParkYoo E A
  • 检测Android N版本代码

    是否可以检测用户是否运行 Android N 我有一台装有 Android N 开发者预览版的 Nexus 6 如果我尝试获取构建版本Build VERSION SDK INT 它返回 23 等于 Android Marshmallow Q
  • 如何将webview内容划分为多个页面

    我必须使用 Android 上的 PdfDocument 从 webView 创建 PDF https developer android com reference android graphics pdf PdfDocument htm
  • MyGestureDetector 扩展了 SimpleOnGestureListener

    我正在实现一个扩展 SimpleOnGestureListener 的 MyGestureDetector 我从以下机构借了课程 http www codeshogun com blog tag view flipper http www
  • Ionic4 电容器 android livereload?

    是否有可能在带有 livereload 的 Android 设备上运行带有电容器的 ionic 4 应用程序 我已经找了几个小时的答案了 但没有成功 请帮忙 如果使用最新版本 ionic cli 现在有一个命令ionic capacitor
  • 使用audioSessionId值实例化AudioFx类?

    我已经阅读了 Android API 并尝试在互联网上搜索有关声明自定义audioSessionId然后用它audioSessionId初始化 AudioFx 类并为我的 MediaPlayer 或 AudioTrack 分配硬编码audi
  • 移动到SD卡

    我知道从 android 2 2 开始可以使用移动到 SD 卡功能 我想知道有没有办法在我的程序中检测设备是否支持移动到 SD 卡功能 如果支持 则可以移动 否则如果不支持 则什么也不会发生 将在手机内存中 我的主要问题是我的应用程序支持
  • Horizo​​ntalScrollView 将 GridView 缩小为小行

    当我将 Horizo ntalScrollView 放在 GridView 周围时 GridView 会被压缩到左侧的一个小列中 Gridview 的垂直滚动条甚至出现在左侧 Horizo ntalScrollView 的宽度设置为 fil
  • 视图随软键盘移动,遮挡其他 UI 对象

    我有一个容器视图 我希望它始终位于视图底部 位于 ScrollView 下方 ScrollView 有一些 UI 对象 其中一个是 EditText 对象 目前 当用户点击 EditText 对象内部时 android softkeyboa
  • 如何解决Android错误类型3?

    下面是我在项目中使用的清单格式 但是每当我尝试运行模拟器时 我都会收到下面提到的错误 请给我一个解决该错误的准确解决方案 工具信息 Android studio Nexus S API 22 android 5 1 1 我的清单文件格式
  • 如何让 Mockito 在 androidTest 中工作

    在我的测试中 我如何模拟我编写的课程 这是我的测试代码 import android support test runner AndroidJUnit4 import org junit Before import org junit Te
  • 如何将多个画布元素放入一个画布元素中?

    我有多个由 JavaScript 创建的画布元素 我的问题是 如何将多个画布元素放入一个画布元素 干得好 JSfiddle http jsfiddle net Allendar UqxCY 它会抓取每个画布并将它们做成 PNG 的 访问缓冲
  • 使用Gradle组装时如何更改Android应用程序包名称?

    是否可以使用 Gradle 更改 Android 应用程序的包名称 我需要编译同一应用程序的两个副本 并具有唯一的包名称 这样我就可以向市场发布两次 作为使用的更简单的替代方案产品口味 正如伊森的回答 https stackoverflow
  • Android:通过查找带有标签而不是 ID 的容器来添加片段

    我正在使用 for 循环创建片段的多个实例 在每个片段中 我需要添加另一组子片段 为此 我需要找到正确的容器 如果我使用容器的 ID 所有子片段都会添加到第一个父片段 而不是它们自己的父片段 在我的主要片段中 for ParentFragm

随机推荐

  • 如何建立简单的评审和5星评级系统? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对网络技术非常陌生 这基本上是我的团队正在研究的一个学期项目 我们正在开发一个食品评论网站 到目前为止 我不太确定如何实现一个简单的
  • 如何使用最新的 java sdk 3.1.2 在 couchbase 中执行批量插入

    我能够使用旧版本的 java sdk 例如 2 9 7 使用以下代码执行批量插入 public void insertAll 集合文档 Observable from documents flatMap new Func1
  • Django Rest Framework,超链接嵌套关系

    我有两个模型 User and Ticket Ticket有一个User User有很多Tickets 当我访问 url 时我已经完成了 用户 1 门票 我正在获取用户的门票列表 我想使用超链接关系 这是我在用户模型表示中看到的内容 tic
  • 将超级对撞机与 python 结合使用

    我想做一些实时声音处理 我听说超级对撞机 http supercollider sourceforge net 它看起来很棒 但我想坚持使用 python 因为 正常 编程是问题所在 有没有办法将 python 脚本作为模块加载到超级对撞机
  • 如何在ransack上设置带有字段名称的默认条件?

    我有一个用户和一个角色模型 两者都通过 habtm 关联 并且有一个与角色关联的论坛模型 在论坛的搜索表单中 我想按具有特定角色 按名称 版主 的用户进行过滤 来源看起来像这样 class User lt ActiveRecord Base
  • SQL:GROUP BY 之后的 SUM

    样本表 CustomerId VoucherId CategoryId StartDate EndDate 10 1 1 2013 09 01 2013 09 30 10 1 2 2013 09 01 2013 09 30 11 2 1 2
  • MongoDB C# 驱动程序:忽略插入属性

    我正在使用官方 MongoDB C Drive v0 9 1 26831 但我想知道给定一个 POCO 类 是否有办法忽略插入时的某些属性 例如 我有以下课程 public class GroceryList public string N
  • 如何链接到 Xcode 中的特定框架版本?

    我有一个链接到 OS X 的 Python framework 的应用程序 由于 Snow Leopard 已升级到 Python 2 6 该框架现在包含 2 4 2 5 和 2 6 的版本 不过 我的程序似乎不想链接到 2 6 当我尝试使
  • 在相机上叠加图像预览

    介绍 我有一个自定义相机应用程序 我在其中通过自定义 SurfaceView 显示相机预览 我需要实现的是 从图像资源创建覆盖图像 该图像将显示在cameraPreview 上 例如滤镜 我一直在不同的主题中搜索这个问题 但我还没有找到适用
  • 列出 R 闪亮服务器上应用程序中的对象内存使用情况

    我一直在尝试显示在 R Shiny Server 上运行时 R Shiny 应用程序中使用的每个对象的内存使用情况 以便识别内存泄漏 在 R 中 我可以调用ls or objects 并获取所有这些信息 一旦我尝试在闪亮的应用程序中显示此信
  • 使用 ORDER BY 时出现数据类型不匹配错误

    我有一个使用本地 sqlite 数据库的 Android 应用程序 private SQLiteDatabase mDb 当我运行此查询时 我将光标移到 pid 等于 id 的行上 根据需要 mDb query true PT TABLE
  • 使用 numpy (或其他向量化方法)优化此函数

    我正在用Python计算群体遗传学领域的经典计算 我很清楚有很多算法可以完成这项工作 但出于某种原因我想构建自己的算法 下面一段是图片 因为 StackOverflow 不支持 MathJax 我想要一个有效的算法来计算这些Fst 目前我只
  • 如何切换猫鼬数组中的布尔值?

    我想切换模式数组中的布尔值 我正在尝试使用数据库中存在的值切换该值 请参阅代码 但只是真变假 而不是假变真 以下是代码 exports postStatusItemchange req res next gt const productId
  • Jetpack Compose 滚动条

    有没有办法添加滚动条来添加LazyColumn ScrollableColumn已弃用 Javadoc 没有提及 Jetpack Compose 中有关滚动条的任何内容 Just to clarify this is the design
  • 数据添加到QLineSeries后如何更新/重绘QChart?

    我正在生成一些我想用来绘制图表的数据QChart 朋友们 这是我第一次使用QChart 所以基本上我所做的就是复制QLine系列示例 https doc qt io qt 5 qtcharts linechart example html并
  • 如何在Android弹出菜单中设置默认选择的选项?

    我使用以下代码来创建菜单 PopupMenu popup new PopupMenu getApplicationContext v MenuInflater inflater popup getMenuInflater inflater
  • 如何使用ggplot2将x轴从年更改为月

    我有一个随时间变化的网络访问量图表 其中绘制了从 2014 年至今的每日流量 如下所示 ggplot subset APRA Post Day gt 2013 12 31 aes x Post Day y Page Views geom l
  • php从同一浏览器和同一php脚本同时下载文件

    你好 我有这个简单的代码 强制随机文件下载 我的问题是 如果我从同一个浏览器调用脚本两次或多次 第二次下载将不会开始 直到第一次完成或中断 因此我每次只能下载一个文件 你有什么线索吗 这可能与PHP的会话处理有关 使用默认的会话处
  • Chrome 中的窗口高度错误

    我正在尝试获取 Chrome 浏览器窗口的正确宽度和高度 Firefox 中的大小是正确的 我没有尝试过任何其他浏览器 我已将文档类型设置为 DOCTYPE html并尝试过 window height window width windo
  • 在自定义活动中绘制 TextView?

    我正在实施一个自定义View 我需要在其中绘制一些文本 文本必须适合一个盒子 所以我必须将其分解并使其适合 因此 我想我可以使用TextView并在我的自定义中绘制它View 这是我尝试过的 canvas drawRoundRect rec