如何在TextureView上添加视图

时间:2016-07-12 21:24:16

标签: android android-layout android-videoview textureview android-textureview

我需要在我的View上添加TextureView,其中播放视频 我之前使用VideoView并且它完全没问题,但我有动画问题所以我把它改为TextureView,现在我不能把View放在上面! 似乎Textureview将涵盖所有观点 这是我的xml布局:

  <FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/frmview"
    >

    <com.my.app.TextureVideoView
        android:id="@+id/vv_play"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:alpha="0.0" />

    <ImageView
        android:id="@+id/iv_play"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:srcCompat="@drawable/app_ic" />
</FrameLayout>

如何将View放在正在播放视频的TextureView上?

3 个答案:

答案 0 :(得分:0)

最后,我必须在初始化FrameLayout并播放视频后,以编程方式将其添加到我的TextureView

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash);

    mPreview = (TextureView) findViewById(R.id.vv_play);
    mPreview.setSurfaceTextureListener(this);
    FrameLayout frameLayout = (FrameLayout) findViewById(R.id.frmview);

    ImageView img = new ImageView(this);
    img.setImageResource(R.drawable.app_ic);
    frameLayout.addView(img);
}

答案 1 :(得分:0)

也许您可以尝试使用TextureView的这个API:

TextureView.setOpaque(假);

答案 2 :(得分:0)

不断更新其内容(例如播放视频)的

TextureView 将始终透支置于其顶部的任何 View 内容(例如 TextureView 和其他一些 {{1} } 放在 View 容器内)。

我发现的最佳解决方案是将顶部 FrameLayout 显示在另一个 View 中,该 Window 位于包含 WindowTextureView 之上,例如PopupWindow 可用于此目的。