Android 什么';圆角半径的范围是多少?

Android 什么';圆角半径的范围是多少?,android,android-layout,Android,Android Layout,我知道如何在视图中使用圆角是这样的: <shape xmlns:android="http://schemas.android.com/apk/res/android"> <corners android:radius="10dp"/> </shape> 半径的范围是多少?是0到100 dp吗?没有“范围”。Dp表示设备像素。因此,如果您的视图为100dp,则正常范围为0到50(因为将边框半径设置为大于宽度或高度的一半看起来会很奇怪) 但基本上没

我知道如何在视图中使用圆角是这样的:

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="10dp"/>
</shape>

半径的范围是多少?是0到100 dp吗?

没有“范围”。Dp表示设备像素。因此,如果您的视图为
100dp
,则正常范围为
0
50
(因为将边框半径设置为大于宽度或高度的一半看起来会很奇怪)

但基本上没有限制

还考虑到大小一半以上的值将被视为大小的一半(因此
100dp
图像上
1000dp
的边界半径仍将仅为
50dp
边界)。
零以下的值与零相同

这为您提供了一个很好的选择,通过定义一个非常大的半径(hacky),始终具有完全圆形的边界

半径的范围是多少

此属性上没有范围


解释你的问题:

机器人:半径

维度。所有角的半径,作为标注值或标注资源。对于每个角点,这将由以下属性覆盖

维度资源
表示:

XML中定义的维度值。标注由数字和度量单位指定。例如:10px,2in,5sp


有关和的详细信息,请参见“无范围”。可以将任何值作为半径、负值或正值

负值(如
-40dp
)对拐角半径没有影响。这与将角半径指定为
0dp


正值(如
40dp
)有效果,但最多只有视图大小的一半。除此之外,一切都是一样的。如果视图的高度为
200dp
,则
200dp
的角半径与
100dp

的行为方式相同,正如其他人已经说过的那样,
android:radius
属性没有范围

但是,我怀疑您需要一个与大小(宽度和高度)无关的圆形/圆形。如果我是对的,您可以使用
oval
type形状:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval" >
    <gradient
        android:startColor="#FFFF0000"
        android:endColor="#80FF00FF"
        android:angle="270"/>
</shape>


使用这种方法,您应该确保
startColor
的alpha通道是
00

您是否考虑过将任何asnwer标记为正确的?我想添加有关阻塞半径的信息,使其为元素大小的一半。Android 4.1及更低版本上的情况似乎也是如此,但我在4.3至6版本的emulator和设备上进行了测试,从4.3版本开始,您似乎不再局限于视图大小的一半,而且看起来也不奇怪。例如,大小为50dp*50dp、左上角和右上角半径为50dp、底角半径为0dp的视图将被塑造成半圆。