Je možné nakresliť okraj okolo textového zobrazenia?
Ako pozadie zobrazenia môžete nastaviť kresliteľný tvar (obdĺžnik).
<TextView android:text="Some text" android:background="@drawable/back"/>
A obdĺžnik drawable back.xml (vložte do priečinka res/drawable):
<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>
Ak chcete mať priehľadné pozadie, môžete použiť @android:color/transparent
pre jednoliatu farbu.
Môžete tiež použiť výplň, aby ste oddelili text od okraja.
Viac informácií nájdete na: http://developer.android.com/guide/topics/resources/drawable-resource.html
Práve som sa pozeral na podobnú odpoveď - je to možné urobiť pomocou Stroke a nasledujúceho 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);
}
Našiel som lepší spôsob, ako umiestniť okraj okolo TextView.
Na pozadie použite obrázok s deviatimi políčkami. Je to celkom jednoduché, SDK sa dodáva s nástrojom na vytvorenie obrázku s deviatimi políčkami a nevyžaduje to absolútne žiadne kódovanie.
Odkaz je http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch.