我尝试过通过堆叠< code > circular progression indicator 来使用方框布局,但是需要硬编码圆的大小。我希望戒指是大小不可知的。我如何使用Compose实现这一点?
我能够使用CircularProgressIndicator完成它
@Composable
fun ringView(){
var sz by remember { mutableStateOf(Size.Zero)}
Box(
Modifier
.aspectRatio(1f)
.fillMaxSize()
.background(Color.Blue)
.onGloballyPositioned { coordinates ->
sz = coordinates.size.toSize()
}
, contentAlignment = Alignment.Center){
Box(Modifier.aspectRatio(1f), contentAlignment = Alignment.Center){
Text(text = pxToDp(sz.height.toInt()).toString())
CircularProgressIndicator(progress = 0.9F, Modifier.size(pxToDp(sz.width.toInt()).dp), strokeWidth = (pxToDp(sz.width.toInt())/15).dp,color = Color.Green)
CircularProgressIndicator(progress = 0.9F, Modifier.size((pxToDp(sz.width.toInt())-(2*(pxToDp(sz.width.toInt())/15))).dp), strokeWidth = (pxToDp(sz.width.toInt())/15).dp, color = Color.Black )
CircularProgressIndicator(progress = 0.9F, Modifier.size((pxToDp(sz.width.toInt())-(4*(pxToDp(sz.width.toInt())/15))).dp), strokeWidth = (pxToDp(sz.width.toInt())/15).dp, color = Color.Gray )
CircularProgressIndicator(progress = 0.9F, Modifier.size((pxToDp(sz.width.toInt())-(6*(pxToDp(sz.width.toInt())/15))).dp), strokeWidth = (pxToDp(sz.width.toInt())/15).dp, color = Color.Cyan )
CircularProgressIndicator(progress = 0.9F, Modifier.size((pxToDp(sz.width.toInt())-(8*(pxToDp(sz.width.toInt())/15))).dp), strokeWidth = (pxToDp(sz.width.toInt())/15).dp, color = Color.Magenta )
}
}
}
fun pxToDp(px: Int): Int {
return (px / Resources.getSystem().displayMetrics.density).toInt()
}
您可以尝试使用Canvas
。我这样做了,可以给你一个起点来实现你想要的...
@Composable
fun DrawGradientCircles() {
Canvas(
modifier = Modifier
.size(300.dp)
.background(Color.Gray)
) {
drawCircle(
brush = Brush.sweepGradient(listOf(Color.Magenta, Color.Red)),
radius = 300f,
style = Stroke(90f)
)
drawCircle(
brush = Brush.sweepGradient(listOf(Color.Green, Color.Yellow)),
radius = 200f,
style = Stroke(90f)
)
drawCircle(
brush = Brush.sweepGradient(listOf(Color.Cyan, Color.Blue)),
radius = 100f,
style = Stroke(90f)
)
}
}
结果如下:
编辑:我在这里发布了一个更新版本:
https://gist.github.com/nglauber/e947dacf50155fb72408e83f6595e430
希望有帮助。
我正在尝试使用rdf4j文档构造SPARQL查询:https://rdf4j.org/documentation/tutorials/sparqlbuilder/ 我是java的新手(和stackoverflow,如果写得不好,很抱歉),但我想我已经包含了正确的开始步骤。我用以下方式实例化了一个选择查询、前缀和变量: URL已被右前缀替换 我试图编写的查询是:选择?在哪里{:team_1:draf
商店1 第1节 第2节 2号商店 null null null 我会在'store'属性中设置区段,因为不同的商店有不同的区段。 到目前为止我认为一切都是正确的。我的问题是如何将用户分配到商店中的特定区段。会是user.company.store[3].section[1]吗?如果一个节/存储区被删除,那么节/存储区的indexOf值不会改变吗?人们通常是怎么做这样的事情的?我基本上是在创建与文件
我需要构造一组变量,其中变量应基于2部分构造:a)name b)一个用value[1]加强的数字。对于不断增加的数字,我使用了for循环。我设法创建了一个字符串,参见test1,但没有增加变量名称,参见test2。 鉴于下面提供的错误代码,我假设R不希望我使用变量名中的“paste0”来构造某些东西。 我的R代码: “测试1”的结果: 我得到的test2错误是: “test2”的预期结果是:
问题内容: 我试图用来构造一个哈希值,其中键名来自变量。像这样: 但是,这不起作用,并出现以下错误: 问题答案: 使用括号可以尽早评估:
问题内容: 所有, 我正在尝试在一些古老的Java代码中进行一些单元测试(无接口,无抽象等)。 这是一个使用ServletContext的servlet(我假设它是由Tomcat设置的),并且它的数据库信息在web.xml / context.xml文件中设置。现在,我已经弄清楚了如何制作Fake ServletContext,但是代码已经 遍布整个地方(因此替换它是不可行的)。我需要找到一种方法
我正在使用TopBraid Composer免费版(5.1.3)创建包括旋转约束在内的本体。然后,我将生成的RDF文件加载到RDF4J(2.0.1)中,并使用RDF4J工作台进行测试。 我正在研究自旋约束。下面是一个检查非负信号速率的例子,我已经添加到类中: 因此,我正在RDF4J工作台中使用以下SPARQL更新查询测试此约束: 这个测试瞬间违反了上面显示的约束。如果我省略了三重,并允许默认为,那