我知道如何为一个视图使用圆角,代码大致如下:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="10dp"/>
</shape>
半径的范围是多少?它是0到100dp吗?
我知道如何为一个视图使用圆角,代码大致如下:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="10dp"/>
</shape>
这里没有“范围”这个概念。Dp 表示设备像素。所以,如果您的视图是 100dp
,正常范围应该从 0
到 50
(因为将边框半径设置为大于宽度或高度的一半会看起来相当奇怪)。
但基本上没有限制。
还要考虑到超过大小一半的值将被视为大小的一半(因此在 100dp
图像上设置 1000dp
的边框半径仍然只有 50dp
边框)。
而低于零的值与零相同。
这给了您一个很好的选择,通过定义非常大的半径来始终拥有完全圆形的边框(有点不规范)。
就像其他人已经说过的那样,android:radius
属性没有范围。
但是,我猜想您可能需要一个独立于其大小(宽度和高度)的圆形/圆形形状。 如果我是正确的,您可以使用oval
类型的形状:
<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
的阿尔法通道为00
。-40dp
)对圆角半径没有影响。这与将圆角半径设置为0dp
相同。
正数(如40dp
)有影响,但只有视图大小的一半。超过一半的大小,则保持不变。如果视图高度为200dp
,则200dp
的圆角半径的行为方式与100dp
相同。问题解释:
android:radius
维度。所有角的半径,作为尺寸值或尺寸资源。以下属性将覆盖每个角的值。
尺寸资源
是指:
在XML中定义的尺寸值。尺寸由数字和跟随其后的度量单位组成。例如:10px、2in、5sp。
有关android:radius
和尺寸资源
的更多信息,请参见相关链接。