我希望在 Jetpack Compose 的画布上绘制一条弧线,并带有对角条纹图案,如下图所示:
我希望将其用作进度条,因此可以根据完成的百分比延长或缩短它。我目前有一个自定义圆形进度条,我在画布上为进度的空白部分绘制一个圆圈,然后为已完成的进度绘制一个圆弧。然而,设计想要实现一种超额状态,其中超额不是纯色,而是条纹图案。
现在我的解决方法就是绘制一个像这样充满条纹的矩形,然后剪掉角,然后在中间放一个白色圆圈,使其看起来像一个环,然后在顶部覆盖另一个进度条并删除纯色根据需要反转以露出条纹。然而,这并没有给我太多的自由来处理超额的问题。主要是弯曲的白色间隙变得很难完成,我只能做一个方角间隙。
所以我想用这种条纹图案创建弧线。
我想用图案而不是颜色在画布上画一条线。这是我现在的代码:
drawLine(
color = progressColor,
start = Offset(if (whiteGap) progressCapWidth else startOffsetBg, yOffset),
end = Offset(endOffsetProgress, yOffset),
strokeWidth = progressHeight.toPx(),
cap = if (roundedCorners) StrokeCap.Round else StrokeCap.Butt,
)
Run Code Online (Sandbox Code Playgroud)
它是自定义线性进度条的一部分。根据我得到的设计,他们希望进度具有以下模式:
这是这个对角线图案进展的全面进展的例子。是否可以使用可绘制对象并重复它而不是颜色?有没有办法在绘制线条时直接应用/创建对角白色间隙?
我们使用 Jetpack Compose 来实现整个功能,因此我无法使用涉及的传统 XML 进行操作。
我正在考虑编写一些代码,根据设备是否插入来改变笔记本电脑的刷新率。
根据我的研究,这是我遇到的两个链接。一个是20年的,另一个是微软的,但我没有看到任何专门提到刷新率的内容。
https://www.codeproject.com/Articles/558/Changing-your-monitor-s-refresh-rate
有谁知道如何做到这一点?我不太关心必须使用什么语言,所以让我知道最可行的语言。当然,我还必须能够检查插入/拔出状态的变化,但我还没有达到这一点。
我主要针对 Windows 10,因为我的设备就是在 Windows 10 上运行的。
我正在尝试将 Jetpack Compose 的 Modifier.blur 功能用于工作项目,但它在预览中似乎没有执行任何操作。我这样使用它:
Column(modifier = Modifier
.blur(30.dp)) {
// Screen content here
}
Run Code Online (Sandbox Code Playgroud)
屏幕内容一点也不模糊。我什至尝试对框中的各个可组合项应用模糊,但这也不会改变预览。我在这里错过了什么吗?
android kotlin android-jetpack-compose android-jetpack-compose-preview