[Android实例] android实现顶级圆角弹窗(个人)
来源:互联网 发布:s3c2410数据手册 编辑:程序博客网 时间:2024/06/05 23:15
原文转载 android实现顶级圆角弹窗
http://www.eoeandroid.com/thread-306170-1-1.html
(出处: eoe Android开发者社区_Android开发论坛)
很多小伙伴可能正在为顶级窗口弹出的黑色背景而发愁.即使使用了自定义的边框效果,但是方形黑色的背景还是存在.下面简单介绍一个很有用的属性,可以使背景透明化,这样就可以实现用WindowManager弹顶级圆角的窗口了.直接上代码并解释.
弹窗必须写在UI线程中哦
WindowManager wm = (WindowManager) getApplicationContext()
.getSystemService(Context.WINDOW_SERVICE);//用于弹窗
WindowManager.LayoutParams params = new WindowManager.LayoutParams();//使用这个来定义弹窗的属性,包括点击模式,样式,甚至出现和消失的动画
params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;//系统窗口, 如电量过低提示. 这些窗口出现在应用窗口之上.在多用户系统中,只出现于有用户的窗口中.
//这个就是用来定义窗口类型的,别忘了,像这样的弹窗需要在manifest文件中添加权限<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>才行哦
params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
//FLAG_NOT_TOUCH_MODAL设置使弹窗后用户任然可以点击窗口后面的东西哦.FLAG_NOT_FOCUSABLE这个属性如果添加了,FLAG_NOT_TOUCH_MODA属性就会默认添加,效果就是流畅了很多,不设置的话退出对话框的时候会闪一下.
params.width = WindowManager.LayoutParams.WRAP_CONTENT;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
//设置对话框的大小
params.format=PixelFormat.RGBA_8888; //去掉又黑又丑的背景,这个属性特别重要,这个可以使后面方形的背景变透明.
View mView = LayoutInflater.from(
getApplicationContext()).inflate(
R.layout.dialog, null);//R.layout.dialog就是弹框的布局哦.
mView.setBackgroundResource(R.drawable.circle_corner);//这个用来设置圆角的,R.drawable.circle_corner内容见后面
wm.addView(mView, params);//弹出窗口,调用wm.removeView(mView);使窗口消失
R.drawable.circle_corner内容
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#606060" />
<stroke android:width="3dp" android:color="#ffff8080" />
<corners android:radius="10dp" />
<padding android:left="5dp" android:top="5dp" android:right="5dp"
android:bottom="5dp" />
</shape>
- [Android实例] android实现顶级圆角弹窗(个人)
- android实现顶级圆角弹窗
- Android 实例-个人理财工具 之一 启动界面实现
- Android 实例-个人理财工具 之一 启动界面实现
- Android 实例-个人理财工具
- Android顶级窗口控制
- Android顶级窗口WindowManager
- Android个人中心各种实现
- Android 实例-个人理财工具 之 概述.
- android Expandlistview实例实现
- 5 个顶级 Android 开源库
- 5 个顶级 Android 开源库
- android 开发 实现全屏(实例)
- MVP -----个人理解与示例(android例子 实现)
- android -------个人中心界面UI的实现。
- android 实现类似个人中心的界面设计
- android 实现类似个人中心的界面设计
- android网络层实现实例
- iOS 7 SDK: 如何使用后台获取(Background Fetch)
- Android 设置无标题栏(全屏)的两种方式
- How to make item view render rich (html) text in Qt
- Gearman分布式任务处理系统(六)跨多种环境部署
- JQuery validate ajax 表单验证方法。
- [Android实例] android实现顶级圆角弹窗(个人)
- 第十五章——抽象类,切片,多继承
- C++中float和double
- [LeetCode] Partition List
- Android平台Bitmap缓存为文件
- Reporting Service2008 匿名访问报表服务器2008配置
- Python 元组、列表、字典、文件
- 174977-2接插件及配套
- 高德地图中根据两点实现旋转图片的方法