Как нарисовать фигуру с помощью xml в Android

Нужно нарисовать следующий круг с формой красного цвета, используя xml.

введите здесь описание изображения

Можно ли нарисовать это только с помощью xml?


person dev    schedule 15.01.2016    source источник


Ответы (3)


Вы можете сделать круг, используя следующий 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>
person Eric B.    schedule 15.01.2016
comment
вы можете мне помочь здесь http://stackoverflow.com/questions/43412704/how-to-draw-a-dot-circle-inside-a-square-drawable-in-android - person Siddarth G; 18.04.2017

чтобы нарисовать круг программно, вы можете использовать этот способ, это сработало для меня

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); 
person Aditya Vyas-Lakhan    schedule 15.01.2016

Я создал аналогичную форму, где внешний серый круг содержит красный круг внутри. Вот код:

<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>
person Rohit Sharma    schedule 15.01.2016