android - 自定义 View 扩展 View 类但仍然基于 XML 布局

标签 android view drawing

我想构建我自己的自定义 View ,它应该看起来像 Crysis-GUI。

起初我设计了一个基于 XML 的布局,并通过 setContentView(int resid) 方法使其可见。效果很好。

但现在我不想更进一步并在我的布局中绘制。所以我创建了一个新类,让它扩展 View 并覆盖 onDraw() 方法。到目前为止,一切都很好。按预期工作

public class RifleView extends View {

public RifleView(Context context) {
    super(context);
}

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    Paint p = new Paint();
    p.setARGB(255, 255, 0, 0);
    canvas.drawText("Hello World", 20, 20, p);
}

但是我怎样才能继续使用我的 XML 布局呢? setContentView 不行了,怎么能达到同样的效果呢?

最佳答案

为什么不能使用 setContentView ?只需制作一个这样的 xml 标记:<com.mycompany.mypackage.myComponent ... xml attributes an tags </com.mycompany.mypackage.myComponent>

关于android - 自定义 View 扩展 View 类但仍然基于 XML 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3502773/

相关文章:

java - 使用方法引用定义 BroadcastReceiver.onReceive

java - 如何阻止 IntelliJ IDEA 在启用 "External Libraries"的情况下扩展 "Autoscroll from Source"?

ios - 当我慢慢画线时,绘图中的虚线不起作用

objective-c - 应该使用什么算法来决定在屏幕刷新时重绘哪些线?

android - 如何开始为 Amazon Fire TV 开发?

android - 在android中保持ActionBar图标的按下状态

java - 我正在为安卓开发键盘。如何更改按键的文字颜色?

css - 如何禁用 drupal7 系统 css 文件?

Android ListView 选中项高亮显示

C++ CMenu 绘图不正确(非自定义)