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 ...
最新文章
- “元宇宙”数字化理解
- 单摆运动属于什么现象_在学习高中物理中有什么好的经验可以分享?
- [RQNOJ313]波浪数
- [Spring cloud 一步步实现广告系统] 12. 广告索引介绍
- 公有云 --- 华为云的基本运用
- 20190110-用笨办法找到二维矩阵的鞍点
- POJ1988 Cube Stacking
- [编程题] 按照左右半区的方式重新组合单链表
- linux命令passwd各个参数含义
- 标签中的onclick调用js方法传递多个参数的解决方案
- selenium webdriver 通信过程
- html src data:image,Browser/HTML Force download of image from src=“data:image/jpeg;base64…”
- 手机远程访问HTML5,如何使用手机连接远程桌面?
- 老友记台词中英文对照Part1
- OS X键盘快捷键Cheatsheet
- 英酷词典 使用方法 必知必会
- “书生”通用视觉技术体系发布!附全球人才招聘
- 网页 从其他服务器 加载图片,实现网页图片的异步加载
- FD.IO-VPP研究及使用四(Qos策略)
- html 仿阿里双11成交额统计,2019天猫双十一 令人震撼的销售数据
热门文章
- 文科学生计算机二级怎么考,对于文科生说计算机二级哪个比较好考
- SRAM和DRAM的比较
- 网站服务器2核4核怎么选,云服务器2核和4核区别
- 中兴通讯股份有限公司(ZTE:Zhongxing Telecommunications Equipment)
- 2022.05.23 - 2022.05.29
- 【无标题】如何解决多芯光纤的扇入扇出
- Wuss Weapp 一款高质量,组件齐全,高自定义的微信小程序 UI 组件库
- HTML的解析顺序及过程详解
- Deepin Linux 上双显卡电脑如何关闭独显,使用核显
- git 修改ssh端口