0
私はカスタムビューをhava、メソッドonDrawで、私はランダムな色を描いた、ソフトキーボードの表示時に色が変わった!これは私のコードです:私のカスタムビューでソフトキーボードが表示されるときの対処方法
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
LogUtils.d("onDraw");
if (null != percentages && percentages.length > 0) {
canvas.translate(myWidth/2, myHeight/2);
RectF rectF = new RectF(-mRadius, -mRadius, mRadius, mRadius);
float currentPai = 0;
for (int i = 0; i < percentages.length; i++) {
Paint arcPaint = new Paint();
arcPaint.setStyle(Paint.Style.FILL);
//This is my random color!
int color = Color.rgb(NumberFormatUtils.getRandomInt(255), NumberFormatUtils
.getRandomInt(255), NumberFormatUtils.getRandomInt(255));
arcPaint.setColor(color);
float targetPai = (float) (percentages[i] * 3.6);
canvas.drawArc(rectF, currentPai, targetPai, true, arcPaint);
currentPai = currentPai + targetPai;
}
}
}
私はソフトキーボードショーのときに色をつけたい、どうすればいいですか?ありがとう!
あなたはキーボードリスナーを聞くためにブロードキャストを使用する必要があります –
そして、キーボードがショーであるかどうかを知りたくありません。私はちょうどキーボードショーのときに色を保ちたいです。リスナーを登録すればonDrawキーボードが表示されたときに再度実行されます、なぜ私はキーボードがcustomviewがondrawを実行するのかわかりません! – SevenNight
これで終わりましたが、キーボードが表示されたときにすべてのビューが再度作成されたので、onDrawメソッドが呼び出されたのは –