3

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

ユーザーがcolorpickerから任意の色を選択した場合、Androidの同じアクティビティまたは画面のテキストまたはさまざまな形状にそれを適用できる必要があります。

私の画面には、図形とカラーピッカーがあります。onTouchイベントを使用することで、さまざまな形を描くことができました。また、画面には何でも書くことができます。私のアプリでは、カラーピッカーは正常に機能します。

最初に-三角形を描いて「meena」のようなテキストを書き、次にカラーピッカーから青い色を適用すると、うまくいきます

2番目-同じ画面(「meena」というテキストの下)で、カラーピッカーからバラ色をクリックし、長方形などのさまざまな形を選択して、リンゴという単語を書きました。今回はもうローズカラーを選びました。

したがって、最初と2番目のステップから、まったく異なる形と単語がバラ色で適用されます。

私の質問は、ユーザーがカラーピッカーからさまざまな色を選択し、同じアクティビティまたは画面でタッチイベントを使用して、タッチスクリーンでテキストを書き込んだり、さまざまな形をさまざまな色で描画したりするにはどうすればよいですか?そのため、画面全体でさまざまな色を見つけることができます。

しかし、私の問題は、画面全体で1つの色しか適用されていないことです。

カラーピッカーから同じ画面またはこのようなアクティビティのテキストに色を適用したいと思います。上の画像を参照してください。

4

1 に答える 1

0

ペイントを使用し、カラーピッカーで選択したペイントの色を変更して、このようなコードを無効にする必要があります

public class DrawPaint extends View{
Paint textPaint = new Paint();
Paint circlePaint = new Paint();

public DrawPaint(Context context){
    super(context);
    //set default colors for them 
    textPaint.setColor(Color.RED);
    circlePaint.setColor(Color.GREEN);
}

@Override
protected void onDraw(Canvas canvas){
    super.onDraw(canvas);
    canvas.drawText("mu text " , 0 , 0 , textPaint);
    canvas.drawCircle(10 , 10 , 20 , circlePaint);
}

public void changeTextColor(int color){
    textPaint.setColor(color);
    invalidate();
}

public void changeCircleColor(int color){
    circlePaint.setColor(color);
    invalidate();
}
}

このビューの参照を取得し、カラーピッカーから色を取得するときにchangeColorメソッドを呼び出します

またはここに作業ソリューションのフィンガーペイントがあります

于 2013-02-06T11:52:09.493 に答える