如何使用 xml 在 android 中绘制形状

How to draw shape using xml in android

需要画下面的圆,红色的形状使用xml。

是否可以仅使用 xml 来绘制?

要以编程方式绘制圆圈,您可以使用这种方式,这对我有用

ShapeDrawable biggerCircle= new ShapeDrawable( new OvalShape());
                biggerCircle.setIntrinsicHeight( 60 );
                biggerCircle.setIntrinsicWidth( 60);
                biggerCircle.setBounds(new Rect(30, 30, 30, 30));
                biggerCircle.getPaint().setColor(Color.parseColor(first));//give any color here
                holder.firstcolor.setBackgroundDrawable(biggerCircle); 

我创建了类似的形状,其中外部灰色圆圈内部包含红色圆圈。这是代码:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval" >
<solid android:color="#E84F3D" />
<stroke
    android:width="15dp"
    android:color="#BEBEBE" />

</shape>

您可以使用以下 XML 代码制作圆圈:

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" >
<solid android:color="#c4bfbf"/>
</shape>

您可以将上面的圆圈作为背景添加到视图中,并且在该视图之上您可以保留另一个视图,它可以是居中垂直的,它的 XML 将是:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle" >
    <solid android:color="#FF0000"  />
    <padding android:bottom="1dp" android:left="10dp" android:right="10dp" android:top="1dp"/>
    <corners
        android:bottomRightRadius="20dp"
        android:bottomLeftRadius="20dp"
        android:topLeftRadius="20dp"
        android:topRightRadius="20dp"/>
</shape>