网上关于此类的话题很多,特别是Dialog显示圆角问题。下面首先给出两个结论:
1.所有的View都是矩形的,即使设置了圆角依旧显示矩形(window非透明背景便于用户观察)
2.圆角是针对Window的,并非View
3.圆角实现方法即:dialog.getWindow().setBackgroundDrawableResource()

所以当我们为非透明window的View设置圆角的时候会出现如下问题(结论1):

所以既然圆角是针对window的,那么我们把View的圆角背景去掉,直接设置window的背景(结论2

dialog.getWindow().setBackgroundDrawableResource(R.drawable.round_orner);

总结设置圆角窗口的方法即:getWindow().setBackgroundDrawableResource

dialog.getWindow().setBackgroundDrawableResource(R.drawable.round_orner);

下面是源码,因为圆角和view无关,所以就不贴关于view的xml。
圆角背景:round_orner.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><!--描边设置--><stroke android:color="@android:color/holo_blue_dark"android:width="1px"/><!--填充设置--><solid android:color="@android:color/white"/><!--圆角设置--><corners android:radius="20dp"/></shape>
public void onClick(View v) {AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);//builder.setTitle("title");//builder.setMessage("message");//builder.setIcon(R.mipmap.ic_launcher_round);builder.setCancelable(true);//View dlg_view = LayoutInflater.from(MainActivity.this).inflate(R.layout.activity_owner_draw,null);//View dlg_view = View.inflate(MainActivity.this,R.layout.activity_owner_draw,null);View dlg_view = getLayoutInflater().inflate(R.layout.round_corne_layout,null,false);//builder.setView(dlg_view);AlertDialog dialog  = builder.create();//View dlg_view = LayoutInflater.from(MainActivity.this).inflate()//getLayoutInflater().inflate(R.layout.activity_main,null,false)dialog.setView(dlg_view);dialog.getWindow().setBackgroundDrawableResource(R.drawable.round_orner);dialog.show();}});

如果看完之后还是不懂,可以学习一下Activity、View、Window关系,这样就一目了然了。

android 窗口圆角相关推荐

  1. Android窗口管理服务WindowManagerService计算窗口Z轴位置的过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8570428 通过前面几篇文章的学习,我们知道了 ...

  2. android窗口泄漏,isInEditMode解决可视化编辑器无法识别自定义控件的问题

    android窗口泄漏,isInEditMode解决可视化编辑器无法识别自定义控件的问题 参考文章: (1)android窗口泄漏,isInEditMode解决可视化编辑器无法识别自定义控件的问题 ( ...

  3. Android的圆角按钮和按钮颜色

    1. android 设置圆角按钮后,按下按钮后,还能改变按钮的颜色 <span style="font-size:18px;"><?xml version=&q ...

  4. Android 圆形/圆角图片的方法

    Android 圆形/圆角图片的方法 眼下网上有非常多圆角图片的实例,Github上也有一些成熟的项目.之前做项目,为了稳定高效都是选用Github上的项目直接用.但这样的结束也是Android开发必 ...

  5. Android窗口管理服务WindowManagerService切换Activity窗口(App Transition)的过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8596449 在Android系统中,同一时刻只 ...

  6. android倒角按钮,Android实现圆角Button按钮

    本文实例讲述了Android开发圆角Button按钮实现过程,分享给大家供大家参考,具体内容如下 需求及效果图: 实现思路: 1.shape实现圆角 在drawable新建两个xml 文件, 这两个 ...

  7. android decorview动画,Android窗口机制(二)Window,PhoneWindow,DecorView,setContentView源码理解...

    Android窗口机制系列 前篇文章中出现了PhoneWindow,DecorView这些类,如果是第一次见过的话,肯定会觉得陌生.这篇文章主要跟大家讲解Window,PhoneWindow,Deco ...

  8. android 简单实现圆角,Android 实现圆角图片的简单实例

    Android 实现圆角图片的简单实例 实现效果图: 本来想在网上找个圆角的例子看一看,不尽人意啊,基本都是官方的Demo的那张原理图,稍后会贴出.于是自己自定义了个View,实现图片的圆角以及圆形效 ...

  9. Android 系统(51)Android窗口机制

    Android窗口机制(四)ViewRootImpl与View和WindowManager 2017年01月15日 15:25:49 阅读数:259 在前篇第(三)文章中,我们讲到了在DecorVie ...

最新文章

  1. Linux内核初始化阶段内存管理的几种阶段
  2. ubuntu如何修改php文件夹权限,Linux命令chmod:修改文件或文件夹权限
  3. 小程序 WXS响应事件(超出两屏显示返回顶部按钮)
  4. printf打印百分号%
  5. keras layer的weight是向后的还是向前的_「马上学tensorflow 2.0」Keras简介、使用流程,后端引擎原理,...
  6. linux破解卡到抓包,请大家帮帮忙,真的是不会了,本来想做个抓包工具的,结果卡这了...
  7. 12简单推导:切面条
  8. DirectX 安装报错: 不能信任一个安装所需的压缩文件,请检查加密服务是否启用并且cabinet文件证书是否有效
  9. esp8266 接入 Amazon alexa智能家居
  10. 数据可视化--实验三:空间可视化
  11. android ppt 转图片显示不全,ppt转pdf图片显示不全怎么办
  12. 300篇原创文背后的故事
  13. self :: 和 this- 的用法
  14. 车载产品Bootloader功能的应用与实现
  15. 对于计算机等级考试的建议
  16. 华硕主板设置RTC自动开机
  17. CTFHub技能树 Web-SSRF 302跳转 Bypass
  18. 如何解决WARNING C4996问题
  19. 一般计算机电源都在什么服务,工控服务器电源与普通电脑电源的区别
  20. Windows网络服务渗透测试实战-跨网段攻击

热门文章

  1. Java语言有哪些特点?
  2. 图片太大怎么缩小mb?
  3. html项目的致谢词,毕业论文的致谢词范文(精选5篇)
  4. python 泰勒展开式_python函数的Taylor级数sympy表达式
  5. Entering emergency mode. Exit the shell to continue.。。。
  6. 基于SSM+Bootstrap【爱校教务系统管理系统】附源码
  7. 房屋租赁系统 nodejs+vue微信小程序
  8. Android 触摸事件机制(三) View中触摸事件详解
  9. [office2010]受保护的视图如何找到源头
  10. 计算机基本原理 学习笔记(五)