Is het mogelijk om een rand om een tekstvenster te tekenen?
U kunt een tekenbare vorm (een rechthoek) instellen als achtergrond voor de view.
<TextView android:text="Some text" android:background="@drawable/back"/>
En rechthoek drawable back.xml (zet in res/drawable map):
<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>
Je kunt @android:color/transparent
gebruiken voor de effen kleur om een transparante achtergrond te hebben.
U kunt ook padding gebruiken om de tekst van de rand te scheiden.
Voor meer informatie zie: http://developer.android.com/guide/topics/resources/drawable-resource.html
Ik was net aan het kijken naar een soortgelijk antwoord-- het'kan gedaan worden met een Stroke en de volgende override:
@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);
}
Ik heb een betere manier gevonden om een rand rond een TextView te zetten.
Gebruik een negen-patroon afbeelding voor de achtergrond. Het is vrij eenvoudig, de SDK komt met een hulpmiddel om de 9-patch afbeelding te maken, en er komt absoluut geen codering aan te pas.
De link is http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch.