Activity背景透明和窗口化
说明
最近项目中有个需求,要将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背景透明和窗口化相关推荐
- Android设置窗体Activity背景透明
为什么80%的码农都做不了架构师?>>> 背景透明 style.xml <item name="android:windowBackground"&g ...
- cocos2dx背景透明处理
以最新的Cocos2d-x 3.2 release为例,介绍如何在Cocos2d-x中让程序背景透明. 一样,先上图. 修改的东西不多.主要有3步. 1.在AndroidManifest.xml中设置 ...
- Android activity设置透明背景
在mainifase中设置: android:theme="@android:style/Theme.Translucent"如下:<activity android:nam ...
- Android 自定义Dialog背景透明及显示位置设置
先贴一下显示效果图,仅作参考: 代码如下: 1.自定义Dialog public class SelectDialog extends AlertDialog{public SelectDialog( ...
- 自定义半屏弹窗Dialog或Activity背景半透明
一.先看看效果图 实现半屏弹窗,背景半透明,可以使用Dialog或Activity来实现. 二.动画效果 实现从下往上弹出,从上往下关闭. 从下往上弹出:anim_slide_in_bottom.xm ...
- Unity导出Android制作桌面宠物精灵需要背景透明
项目场景: Unity制作小精灵导出后,嵌入Android页面中.要求整个APP页面只有一个Android页面背景,因此Unity需要背景透明.最后要求整个APP代码以SDK和API的方式提供给第三方 ...
- android 设置activity背景图片,给Activity设置背景颜色
为了使得错误提示更加显眼,再用Toast+振动效果之外考虑变换整个activity的背景颜色. 尝试一: activity并没像winform一样直接给个属性来设置,就想获取整个activity的la ...
- Android中设置ProgressDialog背景透明
参考网址:https://blog.csdn.net/shenyuanqing/article/details/47397013 代码: public static void setProgressD ...
- CSS 背景(background)(背景颜色color、背景图片image、背景平铺repeat、背景位置position、背景附着、背景简写、背景透明、链接导航栏综合案例)
1. 背景颜色(color) background-color:颜色值; 默认的值是 transparent 透明的 示例代码: <!DOCTYPE html> <html lang ...
最新文章
- 改进型 clock 页面置换算法实现_ID生成算法雪花算法介绍及实现
- 28. extjs中Ext.BLANK_IMAGE_URL的作用
- Scapy:局域网MAC地址扫描脚本
- 【Hibernate】性能优化之缓存管理
- pandas中的数据如何转化为张量?
- 实现备份轮换方案的备份实用程序(C#中的开源Windows窗体应用程序)
- linux c语言变量地址类型,C语言基础知识:访问内存地址的方法
- 为什么Byte类型的运算结果要用int类型来接收
- python对字符串使用【函数】加工目录
- log4j的org.apache.log4j.PatternLayout
- java新知识系列 六
- 铁路售票系统_铁路这些工种你知道吗?快来一起康康吧
- xpdf 打开 chinapub中文pdf
- Appium安装、脚本录制执行
- Android调用第三方app(Scheme隐式以及显示调用)
- java基础简答题1
- 《CCNet: Criss-Cross Attention for Semantic Segmentation》--阅读笔记-ICCV2019
- python重启电脑
- OPEN-WRT老毛子固件的无线中继设置建议
- hackerrank初级篇之Mini-Max Sum
热门文章
- vscode自动填充地址插件_制作VSCODE代码自动补全插件
- android通讯录加密,Android获取通信录并上传(包含通信录加密)
- Professional
- python(3月26日)
- Golang包管理工具govendor的使用
- python nlp 句子提取_python nlp 句子提取_《用Python进行自然语言处理》第7章 从文本提取信息...
- 郑州清华计算机学校,世界第一!郑州11中2016届学子娄晨耀代表清华大学SC18夺冠...
- unity学习一——烘培
- 【示波器专题】示波器一些自动测量项说明
- php vue pdf预览,Vue项目使用pdf.js