gpt4 book ai didi

Android 绘图按钮到带有自定义 View 的 Canvas ?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:57:32 26 4
gpt4 key购买 nike

如何在自定义 View 中的 Canvas 顶部绘制按钮? (最好在中间右侧)在执行 button.draw(canvas) 之前我必须调用什么吗?

    public class MyClass extends View {
public Simulation(Context context) {
super(context);
pauseButton.setText("TestButton");
pauseButton.setClickable(true);
pauseButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Log.i(TAG, "Button Pressed!");
}
});
public onDraw(Canvas canvas) {
super.onDraw(canvas);
pauseButton.draw(canvas);
}
}

谢谢你的时间

最佳答案

您不能将按钮插入到 Canvas 中。 Canvas 是位图的接口(interface)或 View 的位图缓冲区。您只能在其中绘制其他位图或像素,不能插入对象或小部件。

有一些解决方案:

  1. 按照 Nikolay 的建议,使用 FrameLayout 并创建两个层( View ),第一个是您的自定义 View ,第二个是 LinerView 或 RelativeView,它们将位于顶部,您可以在其中放置按钮等等

  2. 在 Canvas 上绘制按钮图像,然后在您的自定义 View 中使用 onTouchEvent 并测试触摸的坐标,然后做一些事情...这里是 onTouchEvent 的示例:Make certain area of bitmap transparent on touch

关于Android 绘图按钮到带有自定义 View 的 Canvas ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7048103/

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