Как определить форму круга в файле чертежа android xml?

У меня есть некоторые проблемы с поиском документации по определениям форм в XML для Android. Я хотел бы определить простой круг, заполненный сплошным цветом в XML-файле, чтобы включить его в мои файлы макета.

К сожалению, документация на android.com не распространяется на атрибуты XML классов Shape. Я думаю, что я должен использовать ArcShape для рисования круга, но нет объяснений, как установить размер, цвет или угол, необходимый для создания круга из дуги.

Solutions Collecting From Web of "Как определить форму круга в файле чертежа android xml?"

Это простой круг, который можно использовать в Android.

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#666666"/> <size android:width="120dp" android:height="120dp"/> </shape> 

Установите это как фоновый фон

 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <stroke android:width="1dp" android:color="#78d9ff"/> </shape> 1 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <stroke android:width="1dp" android:color="#78d9ff"/> </shape> 

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

Для использования сплошного круга:

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

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

Твердое с инсультом:

 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#199fff"/> <stroke android:width="2dp" android:color="#444444"/> </shape> 

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

Код для простого круга

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#9F2200"/> <stroke android:width="2dp" android:color="#fff" /> <size android:width="80dp" android:height="80dp"/> </shape> 

Посмотрите образцы Android SDK. В проекте ApiDemos есть несколько примеров:

/ ApiDemos / RES / вытяжка /

  • black_box.xml
  • shape_5.xml
  • и т.д

Это будет выглядеть примерно так для круга с градиентом заливки:

 <? 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: угол = "270" />
 </ Форма>

Использовать это

 <?xml version="1.0" encoding="utf-8"?> <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="200dp" android:height="200dp" android:viewportHeight="64" android:viewportWidth="64"> <path android:fillColor="#ff00ff" android:pathData="M22,32 A10,10 0 1,1 42,32 A10,10 0 1,1 22,32 Z" /> </vector> 

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

Вот простой circle_background.xml для предварительного материала:

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <shape android:shape="oval"> <solid android:color="@color/color_accent_dark" /> </shape> </item> <item> <shape android:shape="oval"> <solid android:color="@color/color_accent" /> </shape> </item> </selector> 

Вы можете использовать атрибут 'android:background="@drawable/circle_background" в определении макета кнопки

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <!--circle filling color--> <solid android:color="#ffffff" /> <stroke <!--radious can define in here--> android:width="1dp" android:color="#ffffff" /> <corners android:bottomLeftRadius="2dp" android:bottomRightRadius="2dp" android:topLeftRadius="2dp" android:topRightRadius="2dp" /> </shape> 1 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <!--circle filling color--> <solid android:color="#ffffff" /> <stroke <!--radious can define in here--> android:width="1dp" android:color="#ffffff" /> <corners android:bottomLeftRadius="2dp" android:bottomRightRadius="2dp" android:topLeftRadius="2dp" android:topRightRadius="2dp" /> </shape> 
 <?xml version="1.0" encoding="utf-8"?> 

 <gradient android:startColor="@color/red" android:endColor="@color/red" android:angle="270"/> <size android:width="250dp" android:height="250dp"/> 

Просто используйте

 ShapeDrawable circle = new ShapeDrawable( new OvalShape() );