Android 可绘制语音气泡

2024-01-09

我已经找了好几天了,但找不到任何关于如何绘制气泡或在哪里绘制 9 个补丁图像用作背景的好线索。我是一个糟糕的艺术家。有人可以帮忙吗?

我找到的最好的示例位于 Stack Overflow 上,但它是用 Objective C 编写的。

如何在iPhone上绘制“对话气泡”? https://stackoverflow.com/questions/4442126/how-to-draw-a-speech-bubble-on-an-iphone


如果您正在创建聊天屏幕,您可能需要实现传入语音气泡和传出语音气泡。我是这样做的:

shape_bg_incoming_bubble.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <rotate
            android:fromDegrees="-45"
            android:pivotX="0%"
            android:pivotY="0%"
            android:toDegrees="0" >
            <shape android:shape="rectangle" >
                <solid android:color="@color/primary" />
            </shape>
        </rotate>
    </item>
    <item android:left="16dp">
        <shape android:shape="rectangle" >
            <solid android:color="@color/primary" />
            <corners android:radius="4dp" />
        </shape>
    </item>
</layer-list>

shape_bg_outgoing_bubble.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <rotate
            android:fromDegrees="45"
            android:pivotX="100%"
            android:pivotY="0%"
            android:toDegrees="0" >
            <shape android:shape="rectangle" >
                <solid android:color="@color/grey_500" />
            </shape>
        </rotate>
    </item>
    <item android:right="16dp">
        <shape android:shape="rectangle" >
            <solid android:color="@color/grey_500" />
            <corners android:radius="4dp" />
        </shape>
    </item>
</layer-list>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 可绘制语音气泡 的相关文章

  • 参数动态时如何构建 JPQL 查询?

    我想知道是否有一个好的解决方案来构建基于过滤器的 JPQL 查询 我的查询太 富有表现力 我无法使用 Criteria 就像是 query Select from Ent if parameter null query WHERE fiel
  • 具有多种值类型的 Java 枚举

    基本上我所做的是为国家编写一个枚举 我希望不仅能够像国家一样访问它们 而且还能够访问它们的缩写以及它们是否是原始殖民地 public enum States MASSACHUSETTS Massachusetts MA true MICHI
  • 打印包含 JBIG2 图像的 PDF

    请推荐一些库 帮助我打印包含 JBIG2 编码图像的 PDF 文件 PDFRenderer PDFBox别帮我 这些库可以打印简单的 PDF 但不能打印包含 JBIG2 图像的 PDF PDFRenderer尝试修复它 根据 PDFRedn
  • jmap - 组织和堆操作会给 jvm 带来开销吗?

    正如标题所述 需要多少开销jmap histo and jmap heap分别带到jvm 如果一个内存敏感的 Java 进程处于OutOfMemory 例如 大约 96 的堆已满 并且无法通过 full gc 清除 其中一项操作是否有可能将
  • Apache Commons CLI:替代已弃用的 OptionBuilder?

    IntelliJ 显示此示例代码中不推荐使用 OptionBuilderhttp commons apache org proper commons cli usage html http commons apache org proper
  • 配置 Eclipse/EGit 来跟踪上游存储库

    我正在使用 EGit 如新的 Eclipse 4 2 Juno 版本中提供的 我在 GitHub 上有一个存储库 是从另一个上游存储库分叉的 当我从 Github 上的存储库在 Eclipse 中创建项目时 它正确设置origin指向 Gi
  • Android开发:未定义方法

    大家好 我是 Android 和 Eclipse 的新手 我刚刚遵循了developer android com 上的教程 现在我在添加操作栏 http developer android com training basics actio
  • Android:如何使视图增长以填充可用空间?

    这看起来很简单 但我不知道该怎么做 我有一个带有 EditText 和两个 ImageButtons 的水平布局 我希望 ImageButtons 具有固定大小 并且 EditText 占据布局中的剩余空间 如何才能做到这一点
  • 阻止 OSX 变音符号为所有用户禁用 Java 中的 KeyBindings?

    注 我知道这个问题 https stackoverflow com questions 40335285 java keybinds stop working after holding down a key用户必须输入终端命令才能解决此问
  • struts 教程或示例

    我正在尝试在 Struts 中制作一个登录页面 这个想法是验证用户是否存在等 然后如果有错误 则返回到登录页面 错误显示为红色 典型的登录或任何表单页面验证 我想知道是否有人知道 Struts 中的错误管理教程 我正在专门寻找有关的教程 或
  • Spock模拟inputStream导致无限循环

    我有一个代码 gridFSFile inputStream bytes 当我尝试这样测试时 given def inputStream Mock InputStream def gridFSDBFile Mock GridFSDBFile
  • 图像创建从jpeg() PHP

    我正在使用 imagecreatefromjpeg 函数合并两张图片 现在我面临的问题是 当我使用服务器中的图片时 它工作正常 而当我使用其他网站的图片时 它不起作用 例如 当我使用这个 PHP 文件时http coolfbapps in
  • 按名称查找视图

    是否可以通过名称而不是 id 来查找视图 findViewById R id someView 但我想做这样的事情 findViewByName someView 在处理 xml 时 您必须通过标识符查找视图 但是您可以使用以下方式查找标识
  • 如何使 tablayout 文本大小相等?

    这就是我所做的 我为文本创建了一种样式
  • Java中获取集合的幂集

    的幂集为 1 2 3 is 2 3 2 3 1 2 1 3 1 2 3 1 假设我有一个Set在爪哇中 Set
  • OpenGL ES 2.0 屏幕闪烁

    我面临着一个大问题 我正在使用带有 Android 4 0 3 的 Transformer tf101 选项卡 我的应用程序使用自定义 OpenGL ES 2 0 表面 我正在用纹理渲染多个平面 该纹理大约发生变化 每秒 20 次 并通过传
  • 在eclipse上恢复项目的maven插件

    我通过单击 Disable Maven Nature 禁用了项目的 m2eclipse 插件 如下图所示 然后 Maven 条目从菜单中消失 我无法恢复它 如何恢复 重置 重新启用以便该条目再次出现 PS 1 我想在不重新导入项目的情况下做
  • java中如何找到class文件的包

    我正在编写一个使用 class 文件的 java 程序 我希望能够读取文件系统上的 class 文件 使用 InputStream 并确定它所在的包 该 class 文件可能不在一个好的包目录结构中 它可能位于某个随机位置 我怎样才能做到这
  • 使用 eclipse IDE 配置 angularjs

    我想开始使用 AngularJs 和 Java Spring 进行开发 我使用 Eclipse 作为 IDE 我想配置我的 Eclipse 以使这些框架无缝工作 我知道我可能要求太多 但相信我 我已经做了很多研究 你们是我最后的选择 任何帮
  • 尝试使用带有有效购买令牌的 Java Google Play Developer API v3 检索应用内购买信息时出现错误请求(无效值)

    当使用 Java Google Play Developer API 版本 3 并请求有效购买令牌的购买信息时 我收到以下异常 API 调用返回 400 Bad Request 响应以及以下消息 code 400 errors domain

随机推荐

  • Paperclip、Delayed Job、S3、Heroku - 延迟处理敏感上传文件的设计:db 还是 s3?

    我需要有关使用 Heroku 回形针 延迟作业以及 如有必要 s3 上传和延迟处理文件的设计的反馈 它的一部分已经在其他地方讨论过 但我在任何地方都找不到完整的讨论 任务描述 上传文件 使用回形针到heroku上的s3 db 文件需要保密
  • Chrome扩展:识别后台页面iframe的网络请求?

    我正在编写一个 Chrome 扩展程序 它会代表用户定期检查网页 为了不引人注目 该页面被加载到扩展程序的隐藏背景页面上的 iframe 中 是否可以仅识别此 iframe 发出的 Web 请求 我最初的实验 见下文 似乎表明这很棘手 获取
  • Scala Traits 中的冲突字段

    我了解 scala 如何通过考虑所提到的特征的顺序来解决钻石继承情况 我很好奇它如何解决字段的相同问题 这就是我想要理解的 class A print A trait B extends A print B val x b trait C
  • 匹配 VMS 文件名的正确正则表达式模式是什么?

    文档位于http h71000 www7 hp com doc 731final documentation pdf ovms 731 file app pdf http h71000 www7 hp com doc 731final do
  • Python Pandas 迭代行并访问列名

    我正在尝试迭代 Python Pandas 数据帧的行 在数据帧的每一行中 我尝试通过列名称引用行中的每个值 这是我所拥有的 import numpy as np import pandas as pd df pd DataFrame np
  • InlineData 或 TestCase 属性的 Microsoft 单元测试替代方案是什么?

    Microsoft 以外的单元测试框架可以选择使用属性添加输入参数和预期结果 例如 NUnit 有 TestCase 12 4 3 并且 xUnit 有 InlineData 5 1 3 9 微软采取什么方法来实现这一目标 需要添加Nuge
  • 手动(aapt)将本机库.so添加到apk

    由于多种原因 我正在手动构建我的项目 或多或少遵循以下步骤http geosoft no development android html http geosoft no development android html 不使用 ant 我
  • 如何创建一个新线程以使 pcap_loop() 和 gtk_main() 兼容?

    这两个函数都是无限循环 一旦在同一线程中调用 程序就会挂起 gtk main pcap loop adhandle 0 packet handler NULL 当我点击 开始 按钮时 我想要pcap to start工作 如果我按下 停止
  • 元素中插入

    我喜欢 p Variable Text p 我希望它是 p Variable span Text span p 这可以通过 JavaScript 函数实现吗 或 jQuery 哦 是的 p 元素有一个 ID p 元素内的文本是可变的 但始终
  • 打嗝不起作用:FileNotFoundException:无法在类路径上找到 ../as__init.class 或 ../as.clj

    我刚刚开始使用 clojure 我正在尝试构建一个小型网络应用程序 我想尝试打嗝 但似乎不起作用 我的代码如下 项目 clj defproject WebTest 0 1 0 SNAPSHOT description FIXME write
  • Django SECRET_KEY 是每个实例还是每个应用程序?

    这个问题 https stackoverflow com questions 7382149 purpose of django setting secret key 47117966 noredirect 1 comment9026458
  • 从 selectKbest 获取特征名称

    我使用 Scikit 学习selectKbest从 900 个特征中选择大约 500 个最佳特征 如下 其中 d 是所有特征的数据框 from sklearn feature selection import SelectKBest chi
  • 如何更改小型转储中模块的校验和?

    我编写 和销售 的软件在分发之前经过压缩和加密 每次发布新版本时 我都会在压缩和加密之前保留所有 map 文件和生成的二进制文件 包括 exe 当它在客户端计算机上崩溃时 我会得到一个小型转储 我在 Visual Studio 中打开这些小
  • Matplotlib窗口出现在后面?

    每当我打电话show 在 matplotlib 中 绘图窗口出现在所有其他窗口后面 我必须最小化所有内容才能看到它 有什么方法可以阻止这种情况或以编程方式将其带到前台 在 OSX Lion 上 Python 2 7 出色地 这个答案是在已接
  • ifelse 命令中的多个 true 条件

    在R中我们使用ifelse 测试 是 否 命令 我面临的问题是 如果协调结果为真 我需要执行各种声明 例如 ifelse fp 月 1 fp sum sales 1 fp sum sales 2 0 所以我给出两个条件 if fp mont
  • 为什么我的 Django 表单一直显示“此字段为必填字段”

    有谁知道为什么我的表单 文件选择器 在更简单的版本中工作时不断返回 此字段是必需的 我的看法是 def add attempt request m id a id template loader get template add attem
  • 在 C++ 中将 pytorch 张量转换为 opencv mat,反之亦然

    我想在 C 中将 pytorch 张量转换为 opencv mat 反之亦然 我有这两个功能 cv Mat TensorToCVMat torch Tensor tensor std cout lt lt converting tensor
  • 我可以在 C 程序中使用 C++ 库吗?

    我正在用 C 编写一个程序 但我想使用像向量一样的动态库 是否可以在 C 程序中使用 C 库 Not std vector 不 任何模板化的东西都是正确的 一般来说 使用 C 代码并不有趣 但这是可以做到的 您必须将类包装在 C 代码可以调
  • Assembly.LoadFrom 和依赖项

    我一直在尝试使用 Assembly LoadFrom 设置一个插件系统 该系统动态加载 exe 目录的子文件夹中的 dll 我有一个由 exe 和插件引用的接口库 构建完成后 我将插件 dll 复制到子文件夹中 不同的插件可能有共同的库 所
  • Android 可绘制语音气泡

    我已经找了好几天了 但找不到任何关于如何绘制气泡或在哪里绘制 9 个补丁图像用作背景的好线索 我是一个糟糕的艺术家 有人可以帮忙吗 我找到的最好的示例位于 Stack Overflow 上 但它是用 Objective C 编写的 如何在i