我有一个如下所示的可绘制背景xml文件,其中将视图的半径设置为40dp:
android:color="@color/jungleGreen"/>
android:bottomLeftRadius="40dp"
android:topLeftRadius="40dp"/>
由于一些特定的原因,我需要在Kotlin Android中以编程方式执行相同的操作。 所以我写了一个函数如下:
private fun setupGraphBackground(view: View) {
val gradientDrawable = GradientDrawable()
gradientDrawable.shape = GradientDrawable.RECTANGLE
gradientDrawable.setColor(resources.getColor(R.color.jungleGreen))
gradientDrawable.setStroke(0, null)
gradientDrawable.cornerRadii = floatArrayOf(45f, 45f, 0f, 0f, 0f, 0f, 45f, 45f)
view.background = gradientDrawable
}
基本上,我发现如果将函数中的值设置为45f,则在xml文件中它的值可能接近40dp。
我的问题是,是否有任何规则将其转换为正确的数字? 似乎哪里都没有文档。
任何帮助,将不胜感激。
谢谢。