如何去掉自定义AlertDialog进行圆角化的时候,出现的阴影或者黑色边角(亲测有效)
2016-11-13 10:29
197 查看
这是在自己学习安卓的路上,第一进行将问题进行记录,因为自己遇到这个问题的时候,百度了很多方法,但是都没有达到想要的效果,经过自己很多的努力,最后终于实现了,所以想把这个记录下来,方便自己和更多的人能解决遇到的这个问题。
回归正题,当我们使用自定义的AlertDialog的时候,需要引用界面的布局layout,大家都知道,一般的布局的外观都是矩形,而没有圆角化的边框,然而,在布局引用了shape.xml进行圆角化后,就出现了下面的情况。
![](https://img-blog.csdn.net/20161113103854415?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
从上面可以很明显的看到,虽然边框出现了圆角化,但是却出现阴影的问题,所以这是我们本来所不想实现的效果,那么如何进行消除阴影,下面用代码来进行讲解,可以根据自己要的效果进行相对应的修改。(代码是自己项目测试过的,目的就是帮助大家)
首先是自定义AlertDialog的布局文件,命名为playlist.xml
![](https://img-blog.csdn.net/20161113104804787?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
上面的只是一部分,我贴了关键的就是主的linearLayout那里的background,需要设置成为你所需要边角化的形式的xml,这里我设置为了alertaddlist.xml,下面是代码.
![](https://img-blog.csdn.net/20161113105159341?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
除了,这些外,还要设置自定义AlertDialog的样式,下面是代码
![](https://img-blog.csdn.net/20161113105618968?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
好了,上面就是关于布局界面的一些关键代码,接下来就是正真如何解决阴影了。
![](https://img-blog.csdn.net/20161113110000318?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
上面就是代码实现的部分了,红色框中的是必须要实现的,从上面的代码可以发现,这与之前我们的普通定义的差距就在于下面的那红色框中的还有存在设置windowManaer的部分,其实,看到这就很容易理解了,因为本身安卓就存在一个默认的布局,虽然我们是引用了自己写的布局,但是它无法把默认给覆盖,这也就是为什么会存在阴影,其实阴影就是因为两个布局存在了没有完全覆盖的原因,所以就通过代码来将默认的布局,设置成为自定义AlertDialog的布局大小,这样就从而解决了阴影或者黑色边框的问题。
希望这些有用,我也会将自己遇到的问题,写下来,共同进步。
最后,贴个最后的效果图。(布局就是随便写了写,如果有特别的需求的话,就好好的定义,我关键就是来说明如何实现自定义AlertDialog的圆角化)
![](https://img-blog.csdn.net/20161113110633515?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
回归正题,当我们使用自定义的AlertDialog的时候,需要引用界面的布局layout,大家都知道,一般的布局的外观都是矩形,而没有圆角化的边框,然而,在布局引用了shape.xml进行圆角化后,就出现了下面的情况。
从上面可以很明显的看到,虽然边框出现了圆角化,但是却出现阴影的问题,所以这是我们本来所不想实现的效果,那么如何进行消除阴影,下面用代码来进行讲解,可以根据自己要的效果进行相对应的修改。(代码是自己项目测试过的,目的就是帮助大家)
首先是自定义AlertDialog的布局文件,命名为playlist.xml
上面的只是一部分,我贴了关键的就是主的linearLayout那里的background,需要设置成为你所需要边角化的形式的xml,这里我设置为了alertaddlist.xml,下面是代码.
除了,这些外,还要设置自定义AlertDialog的样式,下面是代码
好了,上面就是关于布局界面的一些关键代码,接下来就是正真如何解决阴影了。
上面就是代码实现的部分了,红色框中的是必须要实现的,从上面的代码可以发现,这与之前我们的普通定义的差距就在于下面的那红色框中的还有存在设置windowManaer的部分,其实,看到这就很容易理解了,因为本身安卓就存在一个默认的布局,虽然我们是引用了自己写的布局,但是它无法把默认给覆盖,这也就是为什么会存在阴影,其实阴影就是因为两个布局存在了没有完全覆盖的原因,所以就通过代码来将默认的布局,设置成为自定义AlertDialog的布局大小,这样就从而解决了阴影或者黑色边框的问题。
希望这些有用,我也会将自己遇到的问题,写下来,共同进步。
最后,贴个最后的效果图。(布局就是随便写了写,如果有特别的需求的话,就好好的定义,我关键就是来说明如何实现自定义AlertDialog的圆角化)
相关文章推荐
- 如何消除自定义AlertDialog圆角化的阴影或者黑色边框
- ScrollView/ListView 如何去掉下拉到顶部时出现的黑色阴影
- 自定义AlertDialog,去掉黑色边框
- 如何进行有效沟通避免出现误会
- ListView /ScrollVIew 滑动出现阴影(白色或者黑色)
- 如何去掉滑动控件(比如ScrollView、ListView、ViewPager等)滑动到最顶部或最底部时出现的阴影效果。
- listview 使用overscroll 解决 上拉下拉 时候 边界出现阴影 并且自定义图案
- listview 使用overscroll 解决 上拉下拉 时候 边界出现阴影 并且自定义图案
- 使用adb的时候出现 adb不是内部或者外部命令如何解决
- Android滑动到顶部和底部时出现的阴影如何去掉
- 手机浏览器上,按钮、图片、文本框点击进去的时候有阴影,如何去掉?
- 安装了 git、小乌龟(TortoiseGit) 、 Git for Windows 或者 GitHub Desktop ,在使用它们之后,文件夹图标出现 红色! 绿色√ 蓝色? 的git附加标识 ,如何把他们去掉呢?如下如所示:
- 如何与人进行有效沟通
- 如何对企业虚拟主机进行有效的安全配置
- gridview 自定义按钮 如何取得当前行的得数据,或者关键字段的方法
- java 如何对自定义的对象进行排序
- 企业如何进行有效的网上销售?
- 管理人员如何有效应用表扬与批评进行反馈
- 项目实施:如何有效的进行ERP培训
- 网页中如何添加调用qq或者msn聊天窗口与客服进行互动