web-dev-qa-db-ja.com

Android canvas draw line-線を太くします

これは少々些細なことのようですが、私のAndroidアプリでは、キャンバスを使用して接続された一連の線を描画しています。何らかの理由で線が非常に薄くて細いです。 。どうすれば線を太くすることができるのでしょうか?これが私のコードです。

for(int i=1; i<myArrayListOfValues.size(); i++){

        Paint myPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
        myPaint.setStrokeWidth(8/*1 /getResources().getDisplayMetrics().density*/);
        myPaint.setColor(0xffff0000);   //color.RED

        canvas.drawLine(myArrayListOfValues.get(i), myArrayListOfValues.get(i), myArrayListOfValues.get(i-1), myArrayListOfValues.get(i-1), myPaint);       

    }

もう1つは、描画する線と円が常に黒であるということです。setColor()は効果がないようです。色の名前(例:color.red)とそれらの16進値(例:0xffff0000)を使用してみました

25
user859348

「mypaint」をクリアした直後に、この行を含めてみてください

 mypaint.setStyle(Paint.Style.STROKE); 
19
Shaunak

の値を変更します

myPaint.setStrokeWidth(8);

より大きな整数に、例えば:

myPaint.setStrokeWidth(50);

線が太くなります

参照 Paint.setStrokeWidth(float)

37
NobodyNemo

ANTI_ALIAS_FLAGを削除するとどうなりますか?また、Paintコンストラクターをforループの外に移動して、反復ごとに再作成されないようにする必要があります。

1
Will Kru