Vraag Hoe een cirkelvorm definiëren in een android xml tekenbaar bestand?


Ik heb problemen met het vinden van de documentatie van de definities van vormen in XML voor Android. Ik zou graag een eenvoudige cirkel gevuld met een effen kleur in een XML-bestand willen definiëren om deze in mijn lay-outbestanden op te nemen.

Helaas heeft de documentatie op android.com geen betrekking op de XML-kenmerken van de Shape-klassen. Ik denk dat ik een ArcShape om een ​​cirkel te tekenen, maar er is geen uitleg over hoe je de grootte, de kleur of de hoek instelt die nodig is om een ​​cirkel uit een boog te maken.


503
2017-07-06 09:40


oorsprong


antwoorden:


Dit is een eenvoudige cirkel als een drawable in 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>

1139
2017-08-25 12:24



Stel dit in als uw kijkachtergrond

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

enter image description here

Voor gebruik met vaste cirkels:

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

enter image description here

Stevig met een beroerte:

<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>

enter image description here

Notitie: Om het te maken oval vormen verschijnen als cirkel, in deze voorbeelden, ofwel uw mening dat u deze vormen gebruikt, omdat de achtergrond ervan een vierkant moet zijn of u de height en width eigenschappen van het vormlabel op een gelijke waarde.


594
2018-01-11 15:08



Code voor eenvoudige cirkel

<?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>

83
2017-11-25 10:01



Kijk in de Android SDK-voorbeelden. Er zijn verschillende voorbeelden in het ApiDemos-project:

/ ApiDemos / res / betekenbare /

  • black_box.xml
  • shape_5.xml
  • enz

Het ziet er ongeveer zo uit voor een cirkel met een verloopvulling:

<? 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" />
</ Vorm>


45
2017-08-11 17:32



Je kunt gebruiken VectorDrawable zoals hieronder :

<?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>

De bovenstaande xml wordt weergegeven als:

enter image description here


39
2017-07-29 16:17



<?xml version="1.0" encoding="utf-8"?>
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">

    <!-- fill color -->
    <solid android:color="@color/white" />

    <!-- radius -->
    <stroke
        android:width="1dp"
        android:color="@color/white" />

    <!-- corners -->
    <corners
        android:radius="2dp"/>
</shape>

18
2018-01-29 10:00



Hier is een eenvoudige circle_background.xml voor pre-materiaal:

<?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>

U kunt gebruiken met het kenmerk 'android:background="@drawable/circle_background" in de lay-outdefinitie van uw knop


15
2018-06-09 23:28