簡體   English   中英

Android 繪圖按鈕到 canvas 與自定義視圖?

[英]Android drawing button to canvas with custom 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 是 bitmap 或 bitmap 緩沖區的接口,用於查看。 您只能在其中繪制其他 bitmap 或像素,不能插入 object 或小部件。

有一些解決方案:

  1. 正如 Nikolay 建議的那樣,使用FrameLayout並創建兩個圖層(視圖),第一個是您的自定義視圖,第二個是 LinerView 或 RelativeView,它將位於頂部,您可以在其中擁有按鈕等

  2. 在 Canvas 上繪制一個按鈕的圖像,然后在您的自定義視圖中使用onTouchEvent並測試觸摸的坐標,然后做一些事情......這里的 onTouchEvent 示例: 使 bitmap 的某些區域在觸摸時透明

為什么需要自己繪制按鈕? 使用 FrameLayout 並簡單地將按鈕覆蓋在您的自定義視圖上。

嘗試這個

public onDraw(Canvas canvas) {
       super.onDraw(canvas);
       canvas.save();
       pauseButton.draw(canvas);
       canvas.restore();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM