java - 合并两个 ContentView

标签 java android xml layout

我目前正在编写一个包含按钮和绘图的应用程序。我想做的是将两者合并到一个屏幕上。

setContentView(R.layout.activity_login_page);
setContentView(drawView);

}

class DrawView extends View {
    Paint paint = new Paint();

    public DrawView(Context context) {
        super(context);
        paint.setColor(Color.GREEN);
    }
    @Override
    public void onDraw(Canvas canvas) {

         super.onDraw(canvas);

         paint.setStyle(Paint.Style.FILL_AND_STROKE);
         canvas.drawCircle(50, 100, 200, paint);
         canvas.drawLine(20, 10, 50, 20, paint);

    }
}
}

当我将内容 View 设置为 R.layout.activity_login_page 时,我仅获得已添加到 XML 布局文件中的按钮。当我按照上面设置两个布局时,我只显示圆圈和线条,而不显示按钮。如何将两者结合起来?

最佳答案

为了在布局中使用新自定义的 View ,您需要执行以下操作:

  1. 为您的自定义 View 类创建所有所需的 CTOR,或者至少创建包含上下文和属性的 CTOR。

  2. 在布局文件(res/layout 中的 xml 文件)中将新 View 作为包含其完整路径的标签,或者使用 UI 设计器并将其拖放(位于“自定义 View ”中)类别)。

  3. 如果你想处理自己的自定义属性,你需要更多地了解它,并在 res/values 文件夹中的 attr.xml 文件中添加属性,并检查 CTOR 中的值(自定义 View )。

关于java - 合并两个 ContentView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18423530/

相关文章:

Java:传递变量一次但值不同

java - setProgressbar 未在 Activity 上运行的线程中更新 getView 内部?

android - screen.width 和 screen.height 在不同的 API/设备中有不同的值

xml - jaxb 和 xlink - friend 还是敌人?

java - 将类作为参数传递

android - android中的 Activity 滑动

android - 如何在 Python 中使用我的 DroidCam 视频源(通过 USB)使用 OpenCV 进行图像处理?

java - 针对 XSD : cvc-elt. 1 的 XML 验证:找不到元素 'xxx' 的声明

java - 在 SQLite 中存储数组列表的数组列表

java - Hibernate ElementCollection/JoinTable IntegrityConstraintViolationException