说明

最近项目中有个需求,要将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. 改进型 clock 页面置换算法实现_ID生成算法雪花算法介绍及实现
  2. 28. extjs中Ext.BLANK_IMAGE_URL的作用
  3. Scapy:局域网MAC地址扫描脚本
  4. 【Hibernate】性能优化之缓存管理
  5. pandas中的数据如何转化为张量?
  6. 实现备份轮换方案的备份实用程序(C#中的开源Windows窗体应用程序)
  7. linux c语言变量地址类型,C语言基础知识:访问内存地址的方法
  8. 为什么Byte类型的运算结果要用int类型来接收
  9. python对字符串使用【函数】加工目录
  10. log4j的org.apache.log4j.PatternLayout
  11. java新知识系列 六
  12. 铁路售票系统_铁路这些工种你知道吗?快来一起康康吧
  13. xpdf 打开 chinapub中文pdf
  14. Appium安装、脚本录制执行
  15. Android调用第三方app(Scheme隐式以及显示调用)
  16. java基础简答题1
  17. 《CCNet: Criss-Cross Attention for Semantic Segmentation》--阅读笔记-ICCV2019
  18. python重启电脑
  19. OPEN-WRT老毛子固件的无线中继设置建议
  20. hackerrank初级篇之Mini-Max Sum

热门文章

  1. vscode自动填充地址插件_制作VSCODE代码自动补全插件
  2. android通讯录加密,Android获取通信录并上传(包含通信录加密)
  3. Professional
  4. python(3月26日)
  5. Golang包管理工具govendor的使用
  6. python nlp 句子提取_python nlp 句子提取_《用Python进行自然语言处理》第7章 从文本提取信息...
  7. 郑州清华计算机学校,世界第一!郑州11中2016届学子娄晨耀代表清华大学SC18夺冠...
  8. unity学习一——烘培
  9. 【示波器专题】示波器一些自动测量项说明
  10. php vue pdf预览,Vue项目使用pdf.js