gpt4 book ai didi

android - 如何将圆角蒙版创建为可绘制对象?

转载 作者:行者123 更新时间:2023-12-04 23:51:47 24 4
gpt4 key购买 nike

需要在android中对几个小部件进行圆角处理,但是将背景更改为drawable在这里没有解决方案。

因此,我想创建一个可以放置在任何 ui 元素之上的可绘制对象。看看这张图片;我需要黑色部分是透明的,白色部分是实心的。

Image

我只知道如何创建负(圆角矩形)形状:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">


<solid
android:color="@color/colorForegroundTable"
/>

<corners android:radius="10dp" />

<padding
android:left="20dp"
android:top="10dp"
android:right="20dp"
android:bottom="10dp" >
</padding>

</shape>

有任何想法吗?

最佳答案

答案在 https://stackoverflow.com/a/64464686/505152可以帮助您,您可以为 View 设置剪切边框,效果很好:

fun setCorners() {

val mOutlineProvider = object : ViewOutlineProvider() {
override fun getOutline(view: View, outline: Outline) {

val left = 0
val top = 0
val right = view.width
val bottom = view.height
val cornerRadiusDP = 16f
val cornerRadius = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, cornerRadiusDP, resources.displayMetrics).toInt()

// all corners
outline.setRoundRect(left, top, right, bottom, cornerRadius.toFloat())
}
}

binding.linearlayoutSidebar.apply {
outlineProvider = mOutlineProvider
clipToOutline = true
}
}
来自:
enter image description here
至:
enter image description here

关于android - 如何将圆角蒙版创建为可绘制对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53024449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com