繁体   English   中英

一个活动中的两个视图

[英]Two view in one Activity

我有以下布局:

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:opencv="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.test.MainActivity" >

<org.opencv.android.JavaCameraView
    android:layout_width="match_parent"
    android:layout_height="match_parent"      
    android:visibility="gone"
    android:id="@+id/MainActivityCameraView"
    opencv:show_fps="true"
    opencv:camera_id="any" />  

<com.example.draw.DrawTransparency
    android:id="@+id/view"
    android:layout_width="200dp"
    android:layout_height="200dp"        
    />

JavaCameraView是简单的相机预览。 DrawTransparency类:

public class DrawTransparency extends View {
.... 
 @Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
  // draw something
 }
 }

在MainActivity中:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   mOpenCvCameraView = (JavaCameraView) mOpenCvCameraView = (JavaCameraView)   findViewById(R.id.MainActivityCameraView);       
    mOpenCvCameraView.setCvCameraViewListener(this);                                    
    mOpenCvCameraView.setVisibility(SurfaceView.VISIBLE);
}

我的问题是:为什么我没有在onCreate()方法中调用DrawTransparency却看到DrawTransparency绘制的图像? 我想在屏幕上绘制一些东西(DrawTransparency类),但是要满足一些条件。

我对android / java有一点了解,因为我只是从头开始..但是从我看来,DrawTransparency是您在onCreate中设置的activity_main.xml的一部分,因此将执行onDraw()。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM