一个完全透明的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"代码如下:欢迎分享,转载请注明来源:内存溢出
评论列表(0条)