当前位置: 首页 > news >正文

网站主机名如何制作一个网页网站

网站主机名,如何制作一个网页网站,wap什么意思网络语言,南京做网站优化价格平台 涉及主控: RK3566 Android: 11/13 问题 在使用GLSurfaceView播放视频的过程中, 增加了一个播放控制面板, 覆盖在视频上方. 默认隐藏setVisibility(View.INVISIBLE);点击屏幕再显示出来. 然而, 在RK3566上这个简单的功能却无法正常工作. 通过缩小视频窗口可以看到, 实际…

在这里插入图片描述

平台

涉及主控: RK3566
Android: 11/13

问题

在使用GLSurfaceView播放视频的过程中, 增加了一个播放控制面板, 覆盖在视频上方. 默认隐藏setVisibility(View.INVISIBLE);点击屏幕再显示出来. 然而, 在RK3566上这个简单的功能却无法正常工作. 通过缩小视频窗口可以看到, 实际UI是已经展示, 但是被GLSurfaceView 覆盖了.

在Pixel Android 13 上不存在这个问题

在这里插入图片描述
如上图 红色 框选区域, 显示不出来.

分析

后续测试发现问题复现需要2个条件:

  1. 覆盖层默认布局设置了隐藏: android:visibility="invisible"
  2. 布局中使用了SurfaceView / GLSurfaceView

参考代码:

布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/black"android:id="@+id/rlRoot"><RelativeLayout android:id="@+id/rlScreen"android:layout_width="match_parent"android:layout_height="match_parent"/><RelativeLayout android:id="@+id/rlMenu"android:layout_width="480dp"android:layout_height="320dp"android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"android:layout_marginBottom="100dp"android:visibility="invisible"android:background="@drawable/selector_beauty_window_bg"><TextViewandroid:text="Overlay Menu"android:layout_centerInParent="true"android:layout_width="wrap_content"android:layout_height="wrap_content"/></RelativeLayout>
</RelativeLayout>

Activity文件


import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;
import android.view.SurfaceView;
import android.view.TextureView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;import com.ansondroider.acore.BaseActivity;
import com.ansondroider.acore.media.VideoPlayer;
import com.ansondroider.apitester.gl.GLVideoView;import java.io.IOException;public class GlMenuOverlay extends BaseActivity {MediaPlayer mmp;GLVideoView glView;RelativeLayout rlScreen;RelativeLayout rlMenu;boolean playVideo = false;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.test_gl_menu_overlay);findViewById(R.id.rlRoot).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {showOrHideMenu();}});rlScreen = (RelativeLayout) findViewById(R.id.rlScreen);rlMenu = (RelativeLayout) findViewById(R.id.rlMenu);RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT);if(playVideo) {glView = new GLVideoView(this);rlScreen.addView(glView, lp);}/*ImageView iv = new ImageView(this);iv.setImageResource(R.mipmap.ic_launcher);iv.setScaleType(ImageView.ScaleType.FIT_XY);RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT);rlScreen.addView(iv, lp);*/VideoPlayer player = new VideoPlayer();SurfaceView texture = new SurfaceView(this);rlScreen.addView(texture, lp);player.setDisplay(texture);player.setDataSource("/sdcard/Movies/10012271.mp4");player.play();}void showOrHideMenu(){Log.d(TAG, "showOrHideMenu");rlMenu.setVisibility(rlMenu.getVisibility() == View.VISIBLE ? View.INVISIBLE : View.VISIBLE);}@Overrideprotected void onStart() {super.onStart();if(playVideo) {mmp = new MediaPlayer();try {mmp.setDataSource("/sdcard/Movies/10012271.mp4");mmp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {@Overridepublic void onPrepared(MediaPlayer mediaPlayer) {glView.onVideoPrepared(mediaPlayer);}});mmp.prepare();mmp.setLooping(true);} catch (IOException e) {e.printStackTrace();}}}@Overrideprotected void onStop() {super.onStop();if(mmp != null){mmp.stop();mmp.release();}}
}

解决

在需要展示覆盖层的时候调用一次requestLayout, 比如:

    void showOrHideMenu(){Log.d(TAG, "showOrHideMenu");rlMenu.setVisibility(rlMenu.getVisibility() == View.VISIBLE ? View.INVISIBLE : View.VISIBLE);////((RelativeLayout)findViewById(R.id.rlRoot)).requestLayout();rlMenu.requestLayout();}

调用父容器 rlRootrlMenu本身requestLayout 都可以

在这里插入图片描述

参考

在这里插入图片描述
Android自定义GLSurfaceView
SurfaceView、GLSurfaceView、SurfaceTexture、TextureView简单对比

http://www.hyszgw.com/news/22273.html

相关文章:

  • 网站安装步骤页面自己搭建一个网站
  • 做网站学cdr吗可以免费打广告的网站
  • 网站建设 博客百度推广产品
  • 天津做网站认准津坤科技搜索引擎优化的分类
  • 男女做暖昩视频试看网站网站维护需要多长时间
  • 自动化东莞网站建设最新军事动态最新消息
  • 西宁网站建设服务公司搜索引擎技巧
  • 卖护肤在哪个网站做宣传好全网最好的推广平台
  • 做化妆品的一些网站如何免费发布广告
  • 网站建设的常见技术有哪些关键词优化教程
  • 杭州微信网站制作广东公司搜索seo哪家强
  • 邢台网最新发布seo综合查询工具
  • 做ui设计用什么素材网站谷歌搜索引擎下载安装
  • 网页提示站点不安全如何建网址
  • 太原医疗网站建设四川百度推广和seo优化
  • 搭建网站的流程今天重要新闻
  • 163网站视频动做域名注册服务网站
  • 在线小公司网站制作郑州网站seo优化公司
  • 设计素材网站排名免费模式营销案例
  • 在线流程图网站怎么做百度百度一下你就知道主页
  • 做任务打字赚钱的网站惠州百度seo哪家好
  • 动力无限做网站怎么样免费推广网站大全下载安装
  • 网站每日签到怎么做百度营稍
  • 做公司的后台网站用什么软件好平台运营推广方案
  • 跨境电商发展现状如何网站搜索引擎优化方法
  • 亚马逊网站建设特点上海比较大的优化公司
  • 国家房管局官网查询系统好用的seo软件
  • wordpress 自己写js云巅seo
  • 如何知道网站的字体关键词搜索广告
  • 嘉兴做美食图片的网站深圳网站seo地址