API 25 (Android 7.1.1 API) view.TextureView

TextureView是Android 7.1.1 API中的一个类,用于显示内容流,如视频或OpenGL场景。与SurfaceView不同,TextureView能执行变换操作,如平移、缩放和动画。它可以作为相机预览的显示容器,并通过SurfaceTexture进行内容渲染。TextureView只能在硬件加速窗口中使用,其SurfaceTexture在附加到窗口后才可用。开发者可以通过监听器在SurfaceTexture可用时进行操作。
摘要由CSDN通过智能技术生成

Android API 25 (Android 7.1.1)


TextureView

public class TextureView

extends View

Added in API level 14

 

java.lang.Object

   ↳android.view.View

    ↳android.view.TextureView

 

【概述】

TextureView可用于显示内容流。 这样的内容流例如可以是视频或OpenGL场景。 内容流可以来自App进程或是远端进程。

TextureView只能在硬件加速窗口中使用。 当在软件中渲染时,TextureView将不会绘制任何东西。

SurfaceView不同,TextureView不会创建单独的窗口,这使得它可以像一般的View一样执行一些变换操作,比如移动,转换,动画等。例如,你可以通过调用myView.setAlpha0.5f)使一个TextureView半透明。

使用TextureView很简单:所有你需要做的是获取它的SurfaceTextureSurfaceTexture可以用于渲染内容。

 

应用程序的视频或者opengl内容往往是显示在一个特别的UI控件中:SurfaceViewSurfaceView的工作方式是创建一个置于应用窗口之后的新窗口。这种 方式的效率非常高,因为SurfaceView窗口刷新的时候不需要重绘应用程序的窗口(android普通窗口的视图绘制机制是一层一层的,任何一个子元素或者 是局部的刷新都会导致整个视图结构全部重绘一次,因此效率非常低下,不过满足普通应用界面的需求还是绰绰有余),但是SurfaceView也有一些非常  不便的限制。

 

因为SurfaceView的内容不在应用窗口上,所以不能使用变换(平移、缩放、旋转等)。也难以放在ListView或者ScrollView中,不能使用UI控件的一些特性比如View.setAlpha()

 

以下示例演示如何将相机预览渲染到TextureView中:

 

 public class LiveCameraActivity extends Activity implements TextureView.SurfaceTextureListener {

      private Camera mCamera;

      private TextureView mTextureView;

 

      protected void onCreate(Bundle savedInstanceState) {

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值