Zeichne den Text innerhalb eines Kreises

Ich arbeite an einer Android-Anwendung und ich möchte einen Kreis mit Text im Inneren zeichnen. Ich möchte, dass die Füllung mit einem schwarzen Boarder und einem schwarzen Text weiß ist. Im Moment habe ich ein ShapeDrawable :

 mDrawable = new ShapeDrawable(new OvalShape()); mDrawable.getPaint().setColor(0xFFFFFF); 

Dies macht aber den ganzen Kreis weiß (und mit einem weißen Hintergrund kann man es nicht sehen) und nach einer Weile auf der Suche nach, wie man Text in die Form hinzufügen kann, kann ich nicht scheinen, eine Antwort zu finden, die funktioniert. Ich sollte auch beachten, dass ich eine beliebige Anzahl von Kreisen mit verschiedenen Text in jedem basierend auf Benutzereingabe hinzufügen wird. Jede Hilfe wäre sehr geschätzt!

  • Nach dem Upgrade auf Google Play Services 9.0.0 hängt App in DynamiteModulesC
  • ADB trennt sich nach wenigen Minuten
  • Wie zu überprüfen, ob Android-Handy ist verwurzelt?
  • Wie man das Umschließen von Landschaft / Porträt auf einer mobilen Web-App deaktiviert (Android Browser / iOS-Mobile Safari)
  • Ist eine Funktion in rasch ähnlich wie R.java in Android?
  • Gegenüber setContentView
  • Wie bekomme ich alle Freunde Name, ID, Geburtstag, Ort, etc .. von Facebook API in Android?
  • JDBC vs Web Service für Android
  • Unterschied zwischen DeadObjectException und verursacht eine NullPointerException
  • Ändern Sie Android Drawable Button Icon Programmatisch
  • SelectableItemBackgroundBorderless für Textansicht
  • Iterate durch ein bestimmtes Verzeichnis in Android
  • 2 Solutions collect form web for “Zeichne den Text innerhalb eines Kreises”

    Sie können diese alternative Methode ausprobieren.

    Erstellen Sie eine Zeichnungsdatei oval.xml

     <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" > <solid android:color="#fff"/> <stroke android:width="2px" android:color="#000"/> </shape> 

    Dann erstellen Sie eine RelativeLayout und legen Sie den Hintergrund mit dem ovalen zeichen

     <RelativeLayout android:id="@+id/circle" android:layout_width="200dp" android:layout_height="200dp" android:layout_gravity="center" android:background="@drawable/oval" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="@string/hello_world" /> </RelativeLayout> 

    Das Ergebnis wird so sein:

    Bildbeschreibung hier eingeben

    Ich bin sicher spät, hier zu antworten, aber das könnte für andere hilfreich sein.

      ShapeDrawable colorCode = new ShapeDrawable(new OvalShape()); colorCode.getPaint().setStyle(Paint.Style.FILL); //See more paint style for border circle etc. like STROKE colorCode.getPaint().setAntiAlias(true); colorCode.getPaint().setColor(getResources().getColor(YOUR_COLOUR_HERE_FROM_XML)); colorCode.setIntrinsicHeight(Globals.dp2px(5, getActivity())); //converting dp to px, you can just put any integer instead of dp2px method colorCode.setIntrinsicWidth(Globals.dp2px(5, getActivity())); greenText.setBackgroundDrawable(colorCode); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.