gpt4 book ai didi

java - KeyboardView 中的循环绘图

转载 作者:行者123 更新时间:2023-12-01 14:58:23 26 4
gpt4 key购买 nike

我有课

public class OwnKeyboardView extends KeyboardView {
...
}

它有重写方法OnDraw:

@Override
public void onDraw(final Canvas canvas) {
super.onDraw(canvas);
mCanvas = draw_bitmap(canvas);
Draw_Bitmap(mCanvas);
}

类KeyboardView继承方法

来自 android.view.View 类

来自 java.lang.Object 类

来自接口(interface) android.graphics.drawable.Drawable.Callback

方法OnDraw在按任意键时工作。

当我下一步时:

public Canvas draw_bitmap(Canvas canvas) {

if (mCanvas != null) {
Log.i(TAG, "Copy Canvas");
}
return canvas;
}

为什么在OnDraw方法中我可以用mCanvas绘图,而其他方法则不能?我想在键盘上循环绘图,但 OnDraw 仅当您按下键盘时才起作用

最佳答案

Yoy可以创建Thread并在Thread中手动调用postInvalidate,就像这样。

注意:它会耗尽电池电量

boolean flag=true;
private void Thread_Draw(){

new Thread(new Runnable(){

public void run(){

while(flag)
{
postInvalidate();
try{
Thread.sleep(45);
} catch(InterruptedException e)
{
e.printStackTrace();
}
}
}
}
}

可以通过方法停止线程

public void stopThread(boolean bool)
{
flag=bool;
}

了解 PostInvalidate yom 可以这样:http://developer.android.com/reference/android/view/View.html#postInvalidate()

关于java - KeyboardView 中的循环绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14038702/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com