android - 自定义 CircleImageView 边框
问题描述
我正在尝试构建一个消息传递应用程序,我想知道是否可以在一个形状/视图中重新创建 XML 中的发件人图像和名称
我想制作一个像这张图片一样弯曲形状的 CircleImageView
我希望它是一种形状的原因是我希望能够以编程方式更改颜色。
PS:现在我设法通过将 TextView 放在 CircleImageView 后面来接近我想要的。
解决方案
您可以根据需要轻松创建带有可绘制对象的 TextView,例如带有 drawableLeft、drawableRight、drawableTop、drawableBottom 的 TextView,您还可以添加 drawablePadding 以及使用重力、layout_gravity、layout_height 来定位文本与图像。
然后您可以使用Glide加载图像,您可以根据需要自定义边框:
Glide.with(myFragmentOrActivity)
.load(imageUrl)
.apply(RequestOptions.circleCropTransform())
.into(new CustomTarget<Drawable>(100,100) {
@Override
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition)
{
left.setCompoundDrawablesWithIntrinsicBounds(null, resource, null, null);
}
@Override
public void onLoadCleared(@Nullable Drawable placeholder)
{
left.setCompoundDrawablesWithIntrinsicBounds(null, placeholder, null, null);
}
});
推荐阅读
- c# - 为什么 NLog 不将范围数据记录到 Application Insights 自定义维度
- javascript - SQL INSERT 和 UPDATE 命令在网站服务器上不起作用,尽管它们在 XAMPP 上运行良好。包括页面转换。PHP网站
- python - 将 python 源代码解析为可执行的字符串块
- javascript - 目前正在分析 vjw0rm js 恶意软件的样本,但我不知道如何找到隐藏的 ioc
- gitlab - 可以将 kaniko 添加到 alpine 图像或将 jq 添加到 kaniko 图像
- c# - C# 使用 CloudProxySharp 出错了
- python - 应用方差减少后创建特征数据框
- flutter - 如何在obx中浏览屏幕
- android-fragments - 替换 Preferences Fragment 中已弃用的 setTargetFragment()
- laravel - 如何使用刀片显示 quileditor 的内容