Ist es möglich, einen Rahmen um eine Textansicht zu zeichnen?
Sie können eine zeichenbare Form (ein Rechteck) als Hintergrund für die Ansicht festlegen.
<TextView android:text="Some text" android:background="@drawable/back"/>
Und Rechteck drawable back.xml (in res/drawable Ordner):
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<solid android:color="@android:color/white" />
<stroke android:width="1dip" android:color="#4fa5d5"/>
</shape>
Sie können @android:color/transparent
für die Volltonfarbe verwenden, um einen transparenten Hintergrund zu erhalten.
Sie können auch Padding verwenden, um den Text vom Rahmen zu trennen.
Für weitere Informationen siehe: http://developer.android.com/guide/topics/resources/drawable-resource.html
Ich habe mir gerade eine ähnliche Antwort angeschaut - es kann mit einem Stroke und dem folgenden Override gemacht werden:
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
Paint strokePaint = new Paint();
strokePaint.setARGB(255, 0, 0, 0);
strokePaint.setTextAlign(Paint.Align.CENTER);
strokePaint.setTextSize(16);
strokePaint.setTypeface(Typeface.DEFAULT_BOLD);
strokePaint.setStyle(Paint.Style.STROKE);
strokePaint.setStrokeWidth(2);
Paint textPaint = new Paint();
textPaint.setARGB(255, 255, 255, 255);
textPaint.setTextAlign(Paint.Align.CENTER);
textPaint.setTextSize(16);
textPaint.setTypeface(Typeface.DEFAULT_BOLD);
canvas.drawText("Some Text", 100, 100, strokePaint);
canvas.drawText("Some Text", 100, 100, textPaint);
super.draw(canvas, mapView, shadow);
}
Ich habe eine bessere Möglichkeit gefunden, einen Rahmen um eine TextView zu setzen.
Verwenden Sie ein 9-Patch-Bild für den Hintergrund. Es ist ziemlich einfach, das SDK kommt mit einem Werkzeug, um die 9-Patch-Bild zu machen, und es erfordert absolut keine Codierung.
Der Link ist http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch.