Bir Android metin görünümünün etrafına nasıl kenarlık koyabilirim?

Bir metin görünümünün etrafına kenarlık çizmek mümkün mü?

Çözüm

Görünüm için arka plan olarak çizilebilir bir şekil (bir dikdörtgen) ayarlayabilirsiniz.

Ve dikdörtgen çizilebilir back.xml (res/drawable klasörüne koyun):




Düz rengin şeffaf bir arka plana sahip olması için @android:color/transparent kullanabilirsiniz. Metni kenarlıktan ayırmak için dolgu da kullanabilirsiniz. daha fazla bilgi için bakınız: http://developer.android.com/guide/topics/resources/drawable-resource.html

Yorumlar (8)

Ben de benzer bir yanıta bakıyordum-- bir Stroke ve aşağıdaki geçersiz kılma ile yapılabilir:

@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); 
}
Yorumlar (2)

Bir TextView'in etrafına kenarlık koymanın daha iyi bir yolunu buldum.

Arka plan için dokuz yamalı bir resim kullanın. Oldukça basittir, SDK 9 yama görüntüsünü oluşturmak için bir araçla birlikte gelir ve kesinlikle hiç kodlama gerektirmez.

Bağlantı http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch.

Yorumlar (7)