Как нарисовать форму, используя XML в Android
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>
Рисовать круг программно, вы можете использовать этот способ, это сработало для меня
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>