android - Android梯形TextView
问题描述
作为要求,我想实现如下横幅卡:
在右侧,有一个带有梯形图像集的 ImageView,在左侧,有一个带有链接的 TextView(在图像中由虚线梯形显示)。整个设置在 CardView 内。
有什么办法可以让 TextView Trapezoidal 适合图像?
尝试将 XML 梯形背景设置为 TextView,但它只是在其后面绘制,而不是实际设置文本的边界。
我还尝试通过覆盖 dispatchDraw() 方法来剪裁父 ConstraintLayout,但随后文本也被剪裁,这是意料之外的:
override fun dispatchDraw(canvas: Canvas?) {
val wid = width.toFloat()
val hei = height.toFloat()
path.moveTo(0f, 0f)
path.lineTo(wid, 0f)
path.lineTo(wid - dpToPx(60), hei)
path.lineTo(0f, hei)
path.close()
canvas?.clipPath(path)
super.dispatchDraw(canvas)
}
我们能否实现一个 TextView,它在梯形的范围内以一种裁剪感知的方式呈现文本?或任何其他替代解决方案请..
解决方案
推荐阅读
- wordpress - 如何将网站 IP 的流量转发到网站域?(比特纳米/AWS)
- javascript - 正则表达式将 URL 转换为字符串
- c++ - 如何编写可移植的 constexpr std::copysign()?
- python - 分享两个熊猫系列地块的X轴
- bash - 在 bashrc 中设置环境路径变量不在命令行测试
- javascript - 使用类似功能打开表单后addEventListener单击不起作用
- azure - Azure SWA:重定向到请求路由的修改版本?
- reactjs - CORS 策略错误 - 使用 Spring Boot + React 发现 api
- angular - 如何创建自定义 ngx formly 组件以支持多值自动完成组件
- python - 按最终项目分组列表,但保持顺序