textureview 예제

텍스처뷰를 사용하는 것은 간단합니다. 그런 다음 Surface Texture를 사용하여 콘텐츠를 렌더링할 수 있습니다. 다음 예제에서는 카메라 미리 보기를 TextureView로 렌더링하는 방법을 보여 줍니다. 위의 코드는 활동의 OnCreate 메서드에서 TextureView 인스턴스를 만들고 활동을 TextureView의 SurfaceTextureListener로 설정합니다. Surface 텍스처Listen이 되려면 활동은 TextureView.ISurfaceTextureListener 인터페이스를 구현합니다. SurfaceTexture를 사용할 준비가 되면 시스템에서 OnSurfaceTextAvailable 메서드를 호출합니다. 이 메서드에서는 전달되는 SurfaceTexture를 사용하여 카메라의 미리 보기 텍스처로 설정합니다. 그런 다음 위의 예에서와 같이 회전 및 알파 설정과 같은 일반 뷰 기반 작업을 자유롭게 수행할 수 있습니다. 장치에서 실행 중인 결과 응용 프로그램은 다음과 같습니다: TextureView를 사용하려면 하드웨어 가속을 사용하도록 설정해야 하며, 이는 기본적으로 API 수준 14로 설정됩니다. 또한,이 예는 카메라를 사용하기 때문에, android.permission.CAMERA 권한과 android.hardware.camera 기능은 모두 AndroidManifest.xml에 설정해야합니다. OpenGL 또는 비디오 콘텐츠를 표시하는 데 사용할 수 있는 SurfaceView 클래스와 달리 TextureView는 별도의 창으로 렌더링되지 않습니다.

따라서 TextureView는 다른 뷰와 마찬가지로 뷰 변환을 지원할 수 있습니다. 예를 들어 TextureView 회전은 회전 속성, 알파 속성을 설정하여 투명도 등을 설정하기만 하면 수행할 수 있습니다. Android TextureView의 설명서에서는 TextureView를 사용하여 비디오를 재생할 수 있다고 말합니다. 사람이 알고 있나요? . 뷰가 현재 앱이 저장 및 복원에 대해 자체적으로 걱정할 필요가 없지만 가능한 경우 보존하기 위해 프레임워크에 특별한 주의를 기울여야 한다는 일시적인 상태를 추적하고 있는지 여부를 나타냅니다. 뷰 옆에 있는 작은 팝업에 표시될 tooltip 텍스트를 설정합니다. . . 이 보기(및 모든 자식)를 지정된 캔버스로 수동으로 렌더링합니다. 필요한 경우 스크롤하여 이 보기의 사각형을 화면에 표시해 달라고 요청합니다. 가로 스크롤 막대가 있는 경우 현재 구성된 Drawable을 반환합니다. 이 뷰에서 사용하는 Surface 텍스처를 반환합니다.

이 메서드는 뷰가 창에 연결되지 않았거나 표면 텍스처가 아직 초기화되지 않은 경우 null을 반환할 수 있습니다. . 이 플래그가 DRAG_FLAG_GLOBAL_URI_READ 및/또는 DRAG_FLAG_GLOBAL_URI_WRITE와 함께 사용되는 경우 URI 권한 부여는 원래 부여된 URI와 접두사 일치하는 모든 URI에 적용됩니다. . 이 수신기는 이 텍스처 뷰와 연결된 표면 텍스처를 사용할 수 있을 때 알림을 받는 데 사용할 수 있습니다. 이 보기에 포커스가 있거나 해당 보기에 연결할 수 있는 뷰가 포함되어 있는 경우 true를 반환합니다. . . . 다음은 당신이 그것을 할 수있는 방법입니다 : (질문 작성자의 솔루션, 그는 질문의 업데이트로 게시) .

화면이 켜져 있는지 여부를 제어하여 KEEP_SCREEN_ON 값을 수정합니다.