2

textViewのテキストの周りに黒い線を引く方法は?上の画像の例

ここに画像の説明を入力してください

4

3 に答える 3

5

TextViewクラスを拡張します。次に、onDrawで、最初に黒を使用してテキストを描画し、次に少し小さく、白を使用してテキストを再度描画します。さらに「正確さ」を高めるために、XMLにカスタム属性を追加して、「線の周り」の色を設定します。

public class myTextView extends TextView{

    public myTextView (Context context) {
        this(context, null);    
    }

    public myTextView (Context context, AttributeSet attrs) {
        this(context, attrs, 0);            

    }

    public myTextView (Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);        
        // do extra initialisation and get attributes here
    }

    @Override
    protected void onDraw(Canvas canvas) {

        // draw first in black
        Paint paint = new Paint();
        paint.setColor(Color.BLACK);
        paint.setTextSize(20);                // text size
        paint.setStyle(Paint.Style.STROKE);
        paint.setTextAlign(Paint.Align.CENTER);

        canvas.drawText("My text", 50, 50, paint);

        // draw again in white, slightly smaller
        paint.setColor(Color.WHITE);
        paint.setTextSize(18);                // text size

        canvas.drawText("My text", 50, 50, paint);


    }


}

色、サイズ、位置をハードコードしているため、コードは完全ではありませんが、作業するのに十分であることを願っています。コンストラクターのattrsを介してXMLからテキストのサイズとテキストの色を取得し、カスタム属性として線の色と幅を追加できます(ここまたはGoogleで検索してください)。

于 2012-11-04T16:55:54.007 に答える
4

http://www.dafont.com/steelfish.fontのようなアウトラインがすでにあるフォントを使用します

ここで説明されているようにAndroid-カスタムフォントの使用

于 2012-11-04T17:00:59.203 に答える
1

これをxmlファイルに追加します。

android:shadowColor="#000000"
android:shadowDx="1.5"
android:shadowDy="1.3"
android:shadowRadius="1.6"
android:text="YOUR TEXT"
android:textColor="@color/white"
于 2017-12-12T08:19:27.727 に答える