说明

最近项目中有个需求,要将VideoView放在Dialog中,而且VideoView上方悬浮一个半透明的全屏按钮。
发现…有BUG,视频亮度变暗了,好像是被一个蒙层遮盖了。百度了一下,找了几个解决方法。

  • 使用mVideo.setZOrderOnTop(true);将VideoView放到最上层,视频确实正常了,但是全屏按钮看不见了,但点击事件还有。
  • 改变屏幕的亮度,
WindowManager.LayoutParams a = dialog.getWindow().getAttributes();
a.dimAmount = 0;
dialog.getWindow().setAttributes(a);

发现不起作用。

VideoView放在Activity中没有问题,那是不是可以将Activity做成dialog样式呢?
尝试给Activity设置主题(theme)为

<activity
    android:name="com.….ActivityDialog"android:theme="android:theme="@style/Theme.AppCompat.Dialog"/>

发现跟在dialog中一样,视频会变暗。设置setZOrderOnTop(true),全屏按钮不可见了。

只好做成背景透明的Activity:

背景透明的Activity

为Activity设置主题

<activity
    android:name="com.….ActivityDialog"android:theme="android:theme="@style/Transparent"/>
<style name="Transparent" parent="@style/Base.Theme.AppCompat"><item name="android:windowBackground">@color/transparent</item><item name="android:windowNoTitle">true</item><item name="android:windowIsTranslucent">true</item>
</style>
  • 如果我们的Activity继承自AppCompatActivity ,那么就必须继承@style/Base.Theme.AppCompat,否则会报错。

  • 在Activity布局的最外层要设置背景为透明或半透明(根据需求,如:android:background="@android:color/transparent")。

  • 还要去掉ActionBar:

getSupportActionBar().hide();// 隐藏ActionBar

或者在上面Transparent主题中加一行item
<item name="windowActionBar">false</item>
直接继承 Theme.AppCompat.NoActionBar 应该也可以。

Activity窗口化

给Activity设置主题(theme)为

<activity
    android:name="com.….ActivityDialog"android:theme="android:theme="@style/Theme.AppCompat.Dialog"/>

或者自定义主题:继承@style/Theme.AppCompat.Dialog

ctrl + 左键 点进去查看属性,根据需求覆盖属性。
如需去掉ActionBar和设置背景为透明,见上文。

Activity背景透明和窗口化相关推荐

  1. Android设置窗体Activity背景透明

    为什么80%的码农都做不了架构师?>>>    背景透明 style.xml <item name="android:windowBackground"&g ...

  2. cocos2dx背景透明处理

    以最新的Cocos2d-x 3.2 release为例,介绍如何在Cocos2d-x中让程序背景透明. 一样,先上图. 修改的东西不多.主要有3步. 1.在AndroidManifest.xml中设置 ...

  3. Android activity设置透明背景

    在mainifase中设置: android:theme="@android:style/Theme.Translucent"如下:<activity android:nam ...

  4. Android 自定义Dialog背景透明及显示位置设置

    先贴一下显示效果图,仅作参考: 代码如下: 1.自定义Dialog public class SelectDialog extends AlertDialog{public SelectDialog( ...

  5. 自定义半屏弹窗Dialog或Activity背景半透明

    一.先看看效果图 实现半屏弹窗,背景半透明,可以使用Dialog或Activity来实现. 二.动画效果 实现从下往上弹出,从上往下关闭. 从下往上弹出:anim_slide_in_bottom.xm ...

  6. Unity导出Android制作桌面宠物精灵需要背景透明

    项目场景: Unity制作小精灵导出后,嵌入Android页面中.要求整个APP页面只有一个Android页面背景,因此Unity需要背景透明.最后要求整个APP代码以SDK和API的方式提供给第三方 ...

  7. android 设置activity背景图片,给Activity设置背景颜色

    为了使得错误提示更加显眼,再用Toast+振动效果之外考虑变换整个activity的背景颜色. 尝试一: activity并没像winform一样直接给个属性来设置,就想获取整个activity的la ...

  8. Android中设置ProgressDialog背景透明

    参考网址:https://blog.csdn.net/shenyuanqing/article/details/47397013 代码: public static void setProgressD ...

  9. CSS 背景(background)(背景颜色color、背景图片image、背景平铺repeat、背景位置position、背景附着、背景简写、背景透明、链接导航栏综合案例)

    1. 背景颜色(color) background-color:颜色值; 默认的值是 transparent 透明的 示例代码: <!DOCTYPE html> <html lang ...

最新文章

  1. “元宇宙”数字化理解
  2. 单摆运动属于什么现象_在学习高中物理中有什么好的经验可以分享?
  3. [RQNOJ313]波浪数
  4. [Spring cloud 一步步实现广告系统] 12. 广告索引介绍
  5. 公有云 --- 华为云的基本运用
  6. 20190110-用笨办法找到二维矩阵的鞍点
  7. POJ1988 Cube Stacking
  8. [编程题] 按照左右半区的方式重新组合单链表
  9. linux命令passwd各个参数含义
  10. 标签中的onclick调用js方法传递多个参数的解决方案
  11. selenium webdriver 通信过程
  12. html src data:image,Browser/HTML Force download of image from src=“data:image/jpeg;base64…”
  13. 手机远程访问HTML5,如何使用手机连接远程桌面?
  14. 老友记台词中英文对照Part1
  15. OS X键盘快捷键Cheatsheet
  16. 英酷词典 使用方法 必知必会
  17. “书生”通用视觉技术体系发布!附全球人才招聘
  18. 网页 从其他服务器 加载图片,实现网页图片的异步加载
  19. FD.IO-VPP研究及使用四(Qos策略)
  20. html 仿阿里双11成交额统计,2019天猫双十一 令人震撼的销售数据

热门文章

  1. 文科学生计算机二级怎么考,对于文科生说计算机二级哪个比较好考
  2. SRAM和DRAM的比较
  3. 网站服务器2核4核怎么选,云服务器2核和4核区别
  4. 中兴通讯股份有限公司(ZTE:Zhongxing Telecommunications Equipment)
  5. 2022.05.23 - 2022.05.29
  6. 【无标题】如何解决多芯光纤的扇入扇出
  7. Wuss Weapp 一款高质量,组件齐全,高自定义的微信小程序 UI 组件库
  8. HTML的解析顺序及过程详解
  9. Deepin Linux 上双显卡电脑如何关闭独显,使用核显
  10. git 修改ssh端口