谁能告诉我一个类是否扩展了视图,而不是我如何在其中调用 XML 以在图像底部显示按钮



这是我的主要活动

public class MainActvity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(new BitmapView(this));
}

我必须显示一个在此图像底部具有一些按钮的 Xml 文件

class BitmapView extends View {
    public BitmapView(Context context) {
        super(context);``
    }
    @Override
    public void onDraw(Canvas canvas) {
        Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
        canvas.drawColor(Color.BLACK);
        canvas.drawBitmap(bmp, 10, 10, null);
    }
}

}

不建议这样做,因为按钮不会负责(我的意思是,它们在按下时不可单击或更改其状态;事实上,由您来检测何时按下按钮)。

无论如何,如果这是你想要的,你可以通过做这样的事情来做到这一点:

private void drawButton(Canvas canvas, float left, float right, Button button) {
    canvas.translate(left, right);
    button.draw(canvas);
    canvas.translate(-left, -right);
}

您可以从 onDraw 方法中调用它。通常,您必须手动实例化按钮。此外,您可以绘制整个视图...因此,在这种情况下,您必须实例化它们或膨胀它们;然后你只需调用它的draw方法,传递你在onDraw上得到的画布。

相关内容

最新更新