![](/img/trans.png)
[英]Drawing a progress animation in custom view(Button) using canvas in Android
[英]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 或小部件。
有一些解決方案:
正如 Nikolay 建議的那樣,使用FrameLayout並創建兩個圖層(視圖),第一個是您的自定義視圖,第二個是 LinerView 或 RelativeView,它將位於頂部,您可以在其中擁有按鈕等
在 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.