如何在安卓系统中实现圆形形状

57
我该如何通过Android形状绘制实现以下圆形效果:

enter image description here
1个回答

116

你需要在drawable文件夹中创建一个类似于以下形状的drawable

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" >
    <gradient android:startColor="#FFFF0000" android:endColor="#80FF00FF"
        android:angle="270"/>
</shape>

为了演示,我将可绘制对象保存为circle.xml,并设置其为渐变填充。

接下来,在您的布局中,您需要定义一个视图并将形状设置为背景:

<View android:layout_width="50dp"
    android:layout_height="50dp"
    android:background="@drawable/circle"/>

视图定义了形状的大小和尺寸。

编辑 - 代码结果的屏幕截图

图形视图

代码图片


3
椭圆形将会呈现为一个圆形,它基于视图的尺寸。如果你有一个椭圆形,那么视图的高度和宽度必须不相等。 - Graham Smith
1
请查看我上面的截图。如果您使用wrap_content,则不能保证您需要的结果。要实现圆形,您需要将宽度和高度都设置为相等。在XML中定义的形状可绘制对象在附加到定义大小的视图之前没有大小。 - Graham Smith
1
会尝试并让您知道...昨天实际上做了相同的事情,但每次都是椭圆形。谢谢 :) - AndroidDev
@GrahamSmith 这意味着这不是一个灵活的选项。 - mr5
只有当视图的宽度和高度相同时,它才会给您圆形,如果视图的高度和宽度有任何变化,那么它将产生椭圆形而不是圆形。 - RQube
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接