Android小技巧之如何构建完全透明的Activity

Android小技巧之如何构建完全透明的Activity,第1张

一个完全透明的Activity有很多用处,比如在应用启动的时候,可以用它处理根据用户是否登录的状态来跳转相应界面的情况,实际上微信启动的时候就是做了这种效果、或者在Server检测版本更新的时候d出它来显示对话框,也可以变出很多花样来巧妙的解决不同的需求,而要实现这样的一个Activity是非常的简单的,我们只需要一个样式就能完美解决:

theme.xml 中添加:

AndroidManifest.xml 中给你的Activity设置一下theme:

启动一下这个Activity,是不是什么都看不见,就只能看到桌面。

感谢各位读者,喜欢的话点个赞吧,有哪里不懂的也可以在下方留言。:)

做了一个需求,右滑关闭activity,需要把activity的主题设置为透明,才能在滑动时看到下面的页面,否则看到的是activity默认的灰色背景

但是背景透明后,软键盘的d出,会有闪烁的现象,闪现的是下面activity的界面,体验不好。解决办法是滑动的时候,才将view背景设置为透明,这样可以保障滑动的效果,又能保证软键盘d出时的效果。

但由此也引出Android系统新老版本不兼容的2个地方。

1.部分手机activity如果初始化时是非透明的,动态修改为透明的,没效果。

2.Android6.0以下,activity是透明的,即便里面有view不是透明的,设置该activity背景颜色时,会闪烁。

将activity变为半透明的对话框可以从两个方面来考虑:对话框和半透明。1、在定义Activity时指定Theme.Dialog主题就可以将Activity设置为对话框风格。2、通过修改Theme.Dialog主题的android:windowBackground属性值可以改变Activity的背景图像。如果背景图像使用半透明的图像,则Activity就好变成半透明的对话框。为了修改android:windowBackground属性,可以定义一个新的主题,该主体继承自Theme.Dialog,代码如下:(1)在res/values下创建两个xml文件,一个为主题风格资源dialog_styles.xml,一个为颜色资源dialog_colors.xml。dialog_styles.xml,主题风格名为 dialog_translucentdialog_colors.xml2()在AndroidManifest.xml为Activity指定自定义的主题, android:theme="@style/dialog_translucent"代码如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11110997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存