如何在Android中为ImageSpan应用背景颜色?

2024-04-26

我想在 Android 中动态应用图像范围的背景颜色。

您能提出一些想法吗?


你不能使用BackgroundColorSpan and ImageSpan同时。这个想法是创建一个 ImageSpan可绘制层 https://developer.android.com/reference/android/graphics/drawable/LayerDrawable与背景和图像层。请看下面的代码:

Kotlin:

val span: Spannable = SpannableString("This is   ic launcher with background")
val myImage: Drawable = resources.getDrawable(R.drawable.ic_launcher_foreground)
val background = ShapeDrawable()
background.paint.color = Color.RED
val layerDrawable = LayerDrawable(arrayOf(background, myImage))
layerDrawable.setBounds(0, 0, 64, 64)
val image = ImageSpan(layerDrawable, ImageSpan.ALIGN_BASELINE)
span.setSpan(image, 8, 9, Spannable.SPAN_INCLUSIVE_EXCLUSIVE)

textView.setText(span)


Java:

Spannable span = new SpannableString("This is   ic launcher with background");
Drawable myImage = context.getResources().getDrawable(R.drawable.ic_launcher_foreground);
ShapeDrawable background = new ShapeDrawable();
background.getPaint().setColor(Color.RED);
LayerDrawable layerDrawable = new LayerDrawable(new Drawable[]{background, myImage});
layerDrawable.setBounds(0, 0, 64, 64);
ImageSpan image = new ImageSpan(layerDrawable, ImageSpan.ALIGN_BASELINE);
span.setSpan(image, 8, 9, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);

textView.setText(span);


结果会是这样的:

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

如何在Android中为ImageSpan应用背景颜色? 的相关文章

  • 如何创建不在 ScrollView 中或已禁用 ScrollView 的 ListView?

    我想要 ListView 中的一些好东西 例如能够使用 ListAdapter 和项目选择等 但我不想要其中的 ScrollView 部分 我想以不同的方式自己实现该部分 为什么或如何做到这一点并不是这个问题的重点 所以请不要问 为什么 有
  • AppCompatActivity 中的 setListAdapter

    我有一个具有功能的程序listArray with extends AppCompatActivity但我的代码有错误 my code 新闻活动 public class NewsActivity extends AppCompatActi
  • 是否可以将 Mozilla Persona (BrowserID) 与移动应用程序一起使用?

    是否有可能easily use Mozilla 角色 http www mozilla org en US persona 浏览器ID https developer mozilla org en BrowserID Why Browser
  • JavaScript接口注入漏洞修复

    我收到了来自 Google Play 管理中心的警告 提示我这一页 https support google com faqs answer 9095419因为我在我的应用程序中使用了 JavaScript 接口 并建议两个选项来解决该问题
  • 如何将内部类的值返回到外部类?

    我想做的是当onSuccess方法执行后 queryLogin return true 而如果onFailuer方法执行后 queryLogin return false 但如您所知 在 java 中 我无法从内部类修改外部类值 所以我只是
  • Android 谷歌地图圆圈平滑改变半径

    我想控制按进度条循环 但是谷歌地图APIsetRadius变化并不顺利 如何平滑改变圆半径 这是我的源代码 private Circle circle public void onMapReady final GoogleMap googl
  • 所选设备不兼容 - Android Studio

    我之前已经解决了这个问题 但现在不能 我需要永久修复 在测试我的应用程序时 Android Studio 中的一切都很顺利 我现在遇到了 所选设备不兼容 的问题 当我去运行应用程序时 我想知道如何阻止它读取我手机的 API 作为 1 而不是
  • Android EditText 验证后更改焦点并在对话框中显示错误

    我有一个带有 3 个 EditText 字段的简单活动 用户 通行证 确认 在 用户 字段中输入内容并且该人在键盘上单击 下一步 后 我在那里有一个 setOnFocusChangeListener 来验证输入 如果验证失败 将打开一个对话
  • 相机 java.lang.RuntimeException:setParameters 失败

    我使用创建了一个自定义相机应用程序this https github com davidgatti dgCam源代码 但在少数设备上 例如高分辨率设备 我得到 RuntimeException setParameters failed 我面
  • 使用 Android 浏览器的 HTML5 离线存储

    我正在研究如何使用 Android 设备来创建需要离线使用的网站 我还没有找到很多关于Android浏览器如何处理HTML5的localStorage和WebSQL的信息 有人知道这些的尺寸限制吗 它们是否可以更改 我知道移动 Safari
  • 如何在android listview或线性布局中动态设置marginBottom?

    friends 我想使用java代码或动态设置layout marginBottom 在列表视图或线性布局中 有人指导我如何实现这一目标吗 任何帮助 将不胜感激 ListView lst getListView LinearLayout L
  • RxJava - 链接请求和更新 UI

    我遇到的问题是这样的 我需要向服务器执行几个请求 下一个请求取决于前一个请求的结果 它们看起来像这样 缩写 Observable
  • 来自公共字符串的 Android RSA 加密

    我正在开发一个 Android 应用程序 我希望用户能够使用其他人的公钥加密消息 系统将生成公钥 私钥对 然后可以将消息秘密发送给其他用户 我正在创建一个加密类 它将处理消息的加密 解密 不幸的是我遇到了一些问题 在这种方法中 我想传递用户
  • 导航抽屉图标不显示 android

    MainActivity java public class MainActivity extends FragmentActivity public DrawerLayout mDrawerLayout public ListView m
  • 如何在fragment onCreateView中自定义android标题栏

    我正在尝试通过典型方法更改标题栏的视图 Override public View onCreateView LayoutInflater inflater ViewGroup group Bundle args Window window
  • 不要使用android内置的org.json

    我写了一个使用的库org json http json org A 来自 json org 假设 Android 使用相同的 在 android 中也称为org json B 只是它遗漏了一些相对关键的功能 现在我想做的是设置我的 grad
  • Android 回调监听器 - 将 SDK 中的 pojo 的值发送到应用程序的 Activity

    我有一个深埋在 SDK 中的 java 类 它执行一个操作并返回一个布尔值 它不知道应用程序的主要活动 但我需要主要活动来接收该布尔值 我见过很多关于回调 广播和监听器的问题 但他们似乎都了解该活动 我的 pojo 确实有一个 Activi
  • 在每个 Activity 上调用工具栏

    我的应用程序有一个工具栏 应该出现在每个视图上 目前 我在我的onCreate 我有每个活动的方法 Toolbar toolbar Toolbar findViewById R id toolbar setSupportActionBar
  • 规范注册 ID 和消息 ID 格式

    我的理解有问题Canonical Registration Id并让谷歌返回它 我特意注册了两次我的Android应用程序 以测试Canonical Registration Id 但是当我尝试向两者推送消息时Registration Id
  • Android 列表视图布局 类似于 Google play

    我想实现一个类似于 Google Play 的列表布局 其中每个行都有菜单 请帮助我创建这个 我是否需要创建一个弹出菜单或者有任何选项可以实现此目的 Thanks 看起来您正在尝试完全按照图中所示的方式进行操作 我只是举一个例子来说明我如何

随机推荐